/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
 @layer theme{
    :root,:host{
        --font-sans:Arial,Helvetica,sans-serif;
        --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-white:#fff;
        --spacing:.25rem;
        --default-font-family:var(--font-sans);
        --default-mono-font-family:var(--font-mono)
    }
}
@layer base{
    *,:after,:before,::backdrop{
        box-sizing:border-box;
        border:0 solid;
        margin:0;
        padding:0
    }
    ::file-selector-button{
        box-sizing:border-box;
        border:0 solid;
        margin:0;
        padding:0
    }
    html,:host{
        -webkit-text-size-adjust:100%;
        tab-size:4;
        line-height:1.5;
        font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
        font-feature-settings:var(--default-font-feature-settings,normal);
        font-variation-settings:var(--default-font-variation-settings,normal);
        -webkit-tap-highlight-color:transparent
    }
    hr{
        height:0;
        color:inherit;
        border-top-width:1px
    }
    abbr:where([title]){
        -webkit-text-decoration:underline dotted;
        text-decoration:underline dotted
    }
    h1,h2,h3,h4,h5,h6{
        font-size:inherit;
        font-weight:inherit
    }
    a{
        color:inherit;
        -webkit-text-decoration:inherit;
        -webkit-text-decoration:inherit;
        -webkit-text-decoration:inherit;
        text-decoration:inherit
    }
    b,strong{
        font-weight:bolder
    }
    code,kbd,samp,pre{
        font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
        font-feature-settings:var(--default-mono-font-feature-settings,normal);
        font-variation-settings:var(--default-mono-font-variation-settings,normal);
        font-size:1em
    }
    small{
        font-size:80%
    }
    sub,sup{
        vertical-align:baseline;
        font-size:75%;
        line-height:0;
        position:relative
    }
    sub{
        bottom:-.25em
    }
    sup{
        top:-.5em
    }
    table{
        text-indent:0;
        border-color:inherit;
        border-collapse:collapse
    }
    :-moz-focusring:where(:not(iframe)){
        outline:auto
    }
    progress{
        vertical-align:baseline
    }
    summary{
        display:list-item
    }
    ol,ul,menu{
        list-style:none
    }
    img,svg,video,canvas,audio,iframe,embed,object{
        vertical-align:middle;
        display:block
    }
    img,video{
        max-width:100%;
        height:auto
    }
    button,input,select,optgroup,textarea{
        font:inherit;
        font-feature-settings:inherit;
        font-variation-settings:inherit;
        letter-spacing:inherit;
        color:inherit;
        opacity:1;
        background-color:#0000;
        border-radius:0
    }
    ::file-selector-button{
        font:inherit;
        font-feature-settings:inherit;
        font-variation-settings:inherit;
        letter-spacing:inherit;
        color:inherit;
        opacity:1;
        background-color:#0000;
        border-radius:0
    }
    :where(select:is([multiple],[size])) optgroup{
        font-weight:bolder
    }
    :where(select:is([multiple],[size])) optgroup option{
        padding-inline-start:20px
    }
    ::file-selector-button{
        margin-inline-end:4px
    }
    ::placeholder{
        opacity:1
    }
    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){
        ::placeholder{
            color:currentColor
        }
        @supports (color:color-mix(in lab, red, red)){
            ::placeholder{
                color:color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }
    textarea{
        resize:vertical
    }
    ::-webkit-search-decoration{
        -webkit-appearance:none
    }
    ::-webkit-date-and-time-value{
        min-height:1lh;
        text-align:inherit
    }
    ::-webkit-datetime-edit{
        display:inline-flex
    }
    ::-webkit-datetime-edit{
        padding-block:0
    }
    ::-webkit-datetime-edit-year-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-month-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-day-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-hour-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-minute-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-second-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-millisecond-field{
        padding-block:0
    }
    ::-webkit-datetime-edit-meridiem-field{
        padding-block:0
    }
    ::-webkit-calendar-picker-indicator{
        line-height:1
    }
    :-moz-ui-invalid{
        box-shadow:none
    }
    button,input:where([type=button],[type=reset],[type=submit]){
        appearance:button
    }
    ::file-selector-button{
        appearance:button
    }
    ::-webkit-inner-spin-button{
        height:auto
    }
    ::-webkit-outer-spin-button{
        height:auto
    }
    [hidden]:where(:not([hidden=until-found])){
        display:none!important
    }
    .tooltip-arrow,.tooltip-arrow:before{
        background:inherit;
        width:8px;
        height:8px;
        position:absolute
    }
    .tooltip-arrow{
        visibility:hidden
    }
    .tooltip-arrow:before{
        content:"";
        visibility:visible;
        transform:rotate(45deg)
    }
    [data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{
        border-style:solid;
        border-color:var(--color-neutral-tertiary)
    }
    [data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{
        border-bottom-width:1px;
        border-right-width:1px
    }
    [data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{
        border-bottom-width:1px;
        border-left-width:1px
    }
    [data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{
        border-top-width:1px;
        border-left-width:1px
    }
    [data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{
        border-top-width:1px;
        border-right-width:1px
    }
    .tooltip[data-popper-placement^=top]>.tooltip-arrow{
        bottom:-3px
    }
    .tooltip[data-popper-placement^=bottom]>.tooltip-arrow{
        top:-3px
    }
    .tooltip[data-popper-placement^=left]>.tooltip-arrow{
        right:-3px
    }
    .tooltip[data-popper-placement^=right]>.tooltip-arrow{
        left:-3px
    }
    .tooltip.invisible>.tooltip-arrow:before{
        visibility:hidden
    }
    [data-popper-arrow],[data-popper-arrow]:before{
        background:inherit;
        width:8px;
        height:8px;
        position:absolute
    }
    [data-popper-arrow]{
        visibility:hidden
    }
    [data-popper-arrow]:before{
        content:"";
        visibility:visible;
        transform:rotate(45deg)
    }
    [data-popper-arrow]:after{
        content:"";
        visibility:visible;
        background:inherit;
        width:9px;
        height:9px;
        position:absolute;
        transform:rotate(45deg)
    }
    [role=tooltip]>[data-popper-arrow]:before{
        border-style:solid;
        border-color:var(--color-neutral-tertiary)
    }
    .dark [role=tooltip]>[data-popper-arrow]:before{
        border-style:solid;
        border-color:var(--color-dark)
    }
    [role=tooltip]>[data-popper-arrow]:after{
        border-style:solid;
        border-color:var(--color-neutral-tertiary)
    }
    .dark [role=tooltip]>[data-popper-arrow]:after{
        border-style:solid;
        border-color:var(--color-dark)
    }
    [data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before,[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{
        border-bottom-width:1px;
        border-right-width:1px
    }
    [data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before,[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{
        border-bottom-width:1px;
        border-left-width:1px
    }
    [data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before,[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{
        border-top-width:1px;
        border-left-width:1px
    }
    [data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before,[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{
        border-top-width:1px;
        border-right-width:1px
    }
    [data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{
        bottom:-4px
    }
    [data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{
        top:-4px
    }
    [data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{
        right:-4px
    }
    [data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{
        left:-4px
    }
    [role=tooltip].invisible>[data-popper-arrow]:before,[role=tooltip].invisible>[data-popper-arrow]:after{
        visibility:hidden
    }
    [type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{
        appearance:none;
        border-color:var(--color-body);
        --tw-shadow:0 0 #0000;
        background-color:#fff;
        border-width:1px;
        border-radius:0;
        padding:.5rem .75rem;
        font-size:1rem;
        line-height:1.5rem
    }
    :is([type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select):focus{
        outline-offset:2px;
        --tw-ring-inset:var(--tw-empty, );
        --tw-ring-offset-width:0px;
        --tw-ring-offset-color:#fff;
        --tw-ring-color:var(--color-brand);
        --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        border-color:var(--color-brand);
        outline:2px solid #0000
    }
    input::placeholder,textarea::placeholder{
        color:var(--color-body);
        opacity:1
    }
    ::-webkit-datetime-edit-fields-wrapper{
        padding:0
    }
    input[type=time]::-webkit-calendar-picker-indicator{
        background:0 0
    }
    select:not([size]){
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='oklch(55.1%25 0.027 264.364)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");
        background-position:right .75rem center;
        background-repeat:no-repeat;
        background-size:.75em .75em;
        padding-right:2.5rem
    }
    [dir=rtl] select:not([size]){
        background-position:.75rem;
        padding-left:0;
        padding-right:.75rem
    }
    [multiple]{
        background-image:initial;
        background-position:initial;
        background-repeat:unset;
        background-size:initial;
        print-color-adjust:unset;
        padding-right:.75rem
    }
    [type=checkbox],[type=radio]{
        appearance:none;
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        vertical-align:middle;
        -webkit-user-select:none;
        user-select:none;
        width:1rem;
        height:1rem;
        color:var(--color-brand);
        border-color:var(--color-default);
        --tw-shadow:0 0 #0000;
        background-color:#fff;
        background-origin:border-box;
        border-width:1px;
        flex-shrink:0;
        padding:0;
        display:inline-block;
        position:relative
    }
    [type=checkbox]{
        border-radius:0
    }
    [type=radio]{
        border-radius:100%
    }
    [type=checkbox]:focus,[type=radio]:focus{
        --tw-ring-inset:var(--tw-empty, );
        --tw-ring-offset-color:#fff;
        --tw-ring-color:var(--color-brand);
        --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        outline:1px solid #0000
    }
    [type=checkbox]:checked,.dark [type=checkbox]:checked{
        border-color:currentColor!important
    }
    [type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{
        background-position:50%;
        background-repeat:no-repeat;
        background-color:currentColor!important;
        background-size:.85em .85em!important
    }
    [type=checkbox]:checked{
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 11.917 9.724 16.5 19 7.5'/%3e %3c/svg%3e");
        background-repeat:no-repeat;
        background-size:.75em .75em
    }
    [type=radio]:checked:before,[type=radio]:disabled:checked:before{
        content:"";
        background-color:var(--color-brand);
        border-radius:100%;
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:.9em!important;
        height:.9em!important
    }
    [type=radio]:checked:after,[type=radio]:disabled:checked:after{
        content:"";
        background-color:var(--color-white);
        border-radius:100%;
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:.35em!important;
        height:.35em!important
    }
    .dark [type=radio]:checked:before,.dark [type=radio]:disabled:checked:before{
        content:"";
        background-color:var(--color-brand);
        border-radius:100%;
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:.9em!important;
        height:.9em!important
    }
    .dark [type=radio]:checked:after,.dark [type=radio]:disabled:checked:after{
        content:"";
        background-color:var(--color-white);
        border-radius:100%;
        position:absolute;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:.35em!important;
        height:.35em!important
    }
    [type=checkbox]:indeterminate{
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
        background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M0.5 6h14'/%3e %3c/svg%3e");
        background-position:50%;
        background-repeat:no-repeat;
        background-size:1.55em 1.55em;
        background-color:currentColor!important;
        border-color:#0000!important
    }
    [type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{
        background-color:currentColor!important;
        border-color:#0000!important
    }
    [type=file]{
        background:unset;
        border-color:inherit;
        font-size:unset;
        line-height:inherit;
        border-width:0;
        border-radius:0;
        padding:0
    }
    [type=file]:focus{
        outline:1px auto inherit
    }
    input[type=file]::file-selector-button{
        color:var(--color-body);
        background:var(--color-neutral-quaternary);
        cursor:pointer;
        border:0;
        margin-inline:-1rem 1rem;
        padding:.625rem 1rem .625rem 2rem;
        font-size:.875rem;
        font-weight:500
    }
    input[type=file]::file-selector-button:hover{
        background:var(--color-neutral-quaternary)
    }
    [dir=rtl] input[type=file]::file-selector-button{
        padding-left:1rem;
        padding-right:2rem
    }
    .dark input[type=file]::file-selector-button{
        color:var(--color-body);
        background:var(--color-neutral-quaternary)
    }
    .dark input[type=file]::file-selector-button:hover{
        background:var(--color-neutral-quaternary)
    }
    input[type=range]::-webkit-slider-thumb{
        background:var(--color-brand);
        appearance:none;
        cursor:pointer;
        border:0;
        border-radius:9999px;
        width:1.25rem;
        height:1.25rem
    }
    input[type=range]:disabled::-webkit-slider-thumb{
        background:var(--color-body)
    }
    .dark input[type=range]:disabled::-webkit-slider-thumb{
        background:var(--color-body)
    }
    input[type=range]:focus::-webkit-slider-thumb{
        outline-offset:2px;
        --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
        --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);
        --tw-ring-opacity:1;
        --tw-ring-color:rgb(164 202 254/var(--tw-ring-opacity));
        outline:2px solid #0000
    }
    input[type=range]::-moz-range-thumb{
        background:var(--color-brand);
        appearance:none;
        cursor:pointer;
        border:0;
        border-radius:9999px;
        width:1.25rem;
        height:1.25rem
    }
    input[type=range]:disabled::-moz-range-thumb{
        background:var(--color-body)
    }
    .dark input[type=range]:disabled::-moz-range-thumb{
        background:var(--color-body)
    }
    input[type=range]::-moz-range-progress{
        background:var(--color-brand)
    }
    input[type=range]::-ms-fill-lower{
        background:var(--color-brand)
    }
    input[type=range].range-sm::-webkit-slider-thumb{
        width:1rem;
        height:1rem
    }
    input[type=range].range-lg::-webkit-slider-thumb{
        width:1.5rem;
        height:1.5rem
    }
    input[type=range].range-sm::-moz-range-thumb{
        width:1rem;
        height:1rem
    }
    input[type=range].range-lg::-moz-range-thumb{
        width:1.5rem;
        height:1.5rem
    }
    .toggle-bg:after{
        content:"";
        border-color:var(--color-default);
        width:1.25rem;
        height:1.25rem;
        box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
        background:#fff;
        border-width:1px;
        border-radius:9999px;
        transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;
        transition-duration:.15s;
        position:absolute;
        top:.125rem;
        left:.125rem
    }
    input:checked+.toggle-bg:after{
        border-color:#fff;
        transform:translate(100%)
    }
    input:checked+.toggle-bg{
        background:var(--color-brand);
        border-color:var(--color-brand)
    }
}
@layer components;
@layer utilities{
    .sr-only{
        clip-path:inset(50%);
        white-space:nowrap;
        border-width:0;
        width:1px;
        height:1px;
        margin:-1px;
        padding:0;
        position:absolute;
        overflow:hidden
    }
    .static{
        position:static
    }
    .mt-3{
        margin-top:calc(var(--spacing) * 3)
    }
    .mt-4{
        margin-top:calc(var(--spacing) * 4)
    }
    .mt-6{
        margin-top:calc(var(--spacing) * 6)
    }
    .mb-6{
        margin-bottom:calc(var(--spacing) * 6)
    }
    .flex{
        display:flex
    }
    .grid{
        display:grid
    }
    .hidden{
        display:none
    }
    .w-full{
        width:100%
    }
    .grid-cols-2{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .flex-wrap{
        flex-wrap:wrap
    }
    .items-center{
        align-items:center
    }
    .items-end{
        align-items:flex-end
    }
    .justify-between{
        justify-content:space-between
    }
    .justify-center{
        justify-content:center
    }
    .gap-2{
        gap:calc(var(--spacing) * 2)
    }
    .gap-3{
        gap:calc(var(--spacing) * 3)
    }
    .gap-4{
        gap:calc(var(--spacing) * 4)
    }
    .gap-5{
        gap:calc(var(--spacing) * 5)
    }
    .gap-6{
        gap:calc(var(--spacing) * 6)
    }
    .gap-8{
        gap:calc(var(--spacing) * 8)
    }
    .datatable-wrapper .datatable-table tbody tr.selected{
        background-color:var(--color-neutral-secondary)
    }
    .text-center{
        text-align:center
    }
    @media (min-width:48rem){
        .md\:grid-cols-2{
            grid-template-columns:repeat(2,minmax(0,1fr))
        }
        .md\:grid-cols-3{
            grid-template-columns:repeat(3,minmax(0,1fr))
        }
    }
    @media (min-width:64rem){
        .lg\:col-span-3{
            grid-column:span 3/span 3
        }
        .lg\:grid-cols-4{
            grid-template-columns:repeat(4,minmax(0,1fr))
        }
    }
}
@font-face{
    font-family:Patrick Hand;
    src:url(./fonts/patrick-hand-latin-400-normal.woff2)format("woff2");
    font-weight:400;
    font-display:swap
}
:root{
    --red:#bf0303;
    --blue:#0108d6;
    --ink:#111;
    --charcoal:#1f1f1f;
    --gray:#3a383c;
    --white:#fdfdfd;
    --muted:#bdb8bc;
    --line:#514b50;
    color-scheme:dark
}
*{
    box-sizing:border-box
}
body{
    background:var(--ink);
    color:var(--white);
    -webkit-font-smoothing:antialiased;
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.65
}
a,button,input,select,textarea{
    -webkit-tap-highlight-color:transparent
}
a{
    color:inherit
}
button,a,input,select,textarea{
    outline-offset:5px
}
button,a{
    touch-action:manipulation
}
button{
    cursor:pointer
}
button:disabled{
    opacity:.55;
    cursor:wait
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
    outline:3px solid #a2a5ff
}
[hidden]{
    display:none!important
}
img{
    max-width:100%;
    height:auto
}
h1,h2,h3,p{
    margin:0
}
h1,h2,h3{
    font-family:Patrick Hand,cursive;
    font-weight:400;
    line-height:1.13
}
h1{
    font-size:clamp(2.6rem,5vw,4.7rem)
}
h2{
    font-size:2rem
}
h3{
    font-size:1.5rem
}
.shell{
    width:min(1120px,100% - 48px);
    margin-inline:auto
}
.skip-link{
    z-index:100;
    color:#000;
    background:#fff;
    padding:12px;
    position:fixed;
    top:-80px;
    left:1rem
}
.skip-link:focus{
    top:1rem
}
.site-header{
    text-align:center;
    padding:37px 0 26px
}
.wordmark{
    color:#ef3232;
    letter-spacing:-1.5px;
    font-family:Patrick Hand,cursive;
    font-size:clamp(2.5rem,4vw,3.65rem);
    line-height:1.1;
    text-decoration:none;
    display:inline-block
}
.wordmark span{
    color:var(--white);
    margin-inline:1px
}
.commission-line{
    color:#dad5d9;
    margin-top:10px;
    font-size:1.2rem;
    font-family:Patrick Hand,cursive;
}
.commission-line strong{
    margin-left:6px;
    font-weight:700
}
.status-open{
    color:#8be0a2
}
.status-paused{
    color:#ffd080
}
.status-closed{
    color:#ff8989
}
.nav-shell{
    background:var(--blue);
    border-radius:6px 5px 12px 7px;
    padding:0 5px 6px 0;
    transform:rotate(-.3deg)
}
.main-nav{
    background:var(--red);
    border:2px solid #ed5757;
    border-radius:5px 8px 4px 9px;
    transform:rotate(.3deg)
}
.nav-links{
    justify-content:center;
    align-items:center;
    gap:12px;
    padding:11px 16px;
    display:flex
}
.nav-links a{
    white-space:nowrap;
    border-radius:4px 7px 5px 3px;
    padding:6px 13px;
    font-family:Patrick Hand,cursive;
    font-size:1.4rem
}
.nav-links a:hover{
    background:#900202
}
.nav-links a[aria-current]{
    background:var(--white);
    color:#8e0000;
    transform:rotate(-1.6deg);
    box-shadow:2px 3px #690303
}
.menu-toggle{
    display:none
}
.public-main{
    padding-block:32px
}
.paper-panel{
    background:var(--charcoal);
    border:1px solid var(--line);
    border-radius:13px 6px 15px 8px;
    padding:42px 44px;
    position:relative
}
.home-panel{
    padding:34px 24px 27px;
    overflow:hidden
}
.home-panel:before,.home-panel:after{
    content:"✧";
    color:var(--red);
    font-family:Patrick Hand,cursive;
    font-size:62px;
    position:absolute;
    top:38%;
    left:18%;
    transform:rotate(-12deg)
}
.home-panel:after{
    color:#6b70ff;
    font-size:45px;
    top:64%;
    left:auto;
    right:15%;
    transform:rotate(17deg)
}
.home-panel h1{
    z-index:1;
    font-size:clamp(2.75rem,5vw,4.35rem);
    line-height:1.05;
    position:relative
}
.scribble-underline{
    position:relative
}
.scribble-underline:after{
    content:"";
    background:var(--red);
    border-radius:65% 30% 60% 45%;
    height:5px;
    position:absolute;
    bottom:-7px;
    left:0;
    right:0;
    transform:rotate(-2deg)
}
.hero-art{
    z-index:1;
    width:min(410px,80%);
    height:auto;
    margin:30px auto 11px;
    display:block;
    position:relative
}
.home-status{
    font-family:Patrick Hand,cursive;
    font-size:clamp(1.55rem,3vw,2.05rem)
}
.home-status strong{
    text-underline-offset:6px;
    font-weight:400;
    text-decoration:underline;
    text-decoration-thickness:2px
}
.site-footer{
    padding-bottom:30px
}
.footer-inner{
    background:var(--white);
    color:var(--ink);
    border-bottom:4px solid #d4cdd3;
    border-radius:5px 9px 5px 10px;
    padding:19px 26px
}
.social-links a{
    text-underline-offset:4px;
    font-family:Patrick Hand,cursive;
    font-size:1.25rem
}
.social-links a:hover{
    color:var(--red);
    text-decoration:underline
}
.social-links a .external-icon{
    color:#635d63;
    font-size:.9rem
}
.credit{
    text-align:right;
    font-size:.78rem;
    line-height:1.6
}
.credit a:hover{
    text-decoration:underline
}
.credit .fa-heart{
    color:var(--red);
    font-size:.88em;
    margin-inline:.12em
}
.credit .years{
    color:#726a72;
    font-size:.72rem
}
.page-title{
    margin-bottom:28px
}
.page-lead{
    color:var(--muted);
    margin:-10px 0 35px;
    font-size:1.05rem
}
.prose{
    overflow-wrap:anywhere;
    font-size:1.05rem;
    line-height:1.85
}
.prose p+p{
    margin-top:1em
}
.prose h2,.prose h3,.prose h4{
    margin:1em 0 .5em
}
.prose a{
    color:#b7baff;
    text-underline-offset:4px;
    text-decoration:underline
}
.prose strong{
    color:#fff
}
.prose ul,.prose ol{
    margin:1em 0;
    padding-left:1.4em
}
.prose ul{
    list-style:outside
}
.prose ol{
    list-style:decimal
}
.prose blockquote{
    border-left:3px solid var(--red);
    margin:1em 0;
    padding-left:18px
}
.prose pre{
    white-space:pre-wrap
}
.prose hr{
    border-color:var(--line);
    margin:1.2em 0
}
.reading-width{
    max-width:750px;
    margin:auto
}
.about-art{
    object-fit:contain;
    width:100%;
    max-height:430px
}
.about-layout{
    grid-template-columns:1.2fr 1fr
}
.gallery-intro{
    color:#d5cfd3;
    max-width:740px;
    margin:0 auto 35px
}
.gallery-intro p+p{
    margin-top:.4em
}
.art-frame{
    background:#fdfdfd;
    border-radius:4px 7px 3px 8px;
    align-self:start;
    padding:7px;
    display:block;
    box-shadow:3px 4px #080808
}
.art-frame:nth-child(5n+1){
    transform:rotate(-1deg)
}
.art-frame:nth-child(5n+3){
    transform:rotate(1deg)
}
.art-frame img{
    aspect-ratio:1;
    object-fit:cover;
    background:#e6e2e6;
    border-radius:2px;
    width:100%
}
.art-frame:hover{
    outline-offset:3px;
    outline:3px solid #6b70ff
}
.pagination{
    margin-top:35px;
    font-size:.9rem
}
.empty-state{
    text-align:center;
    border:1px dashed var(--line);
    color:var(--muted);
    border-radius:8px;
    margin:24px 0;
    padding:40px
}
.commission-sheet{
    border:7px solid var(--white);
    border-radius:4px;
    max-width:840px;
    margin:auto;
    display:block;
    transform:rotate(-.3deg)
}
.commission-sheet img{
    width:100%
}
.contact-art{
    image-rendering:auto;
    width:280px;
    margin:auto
}
.contact-layout{
    grid-template-columns:.85fr 1.15fr
}
.contact-list>div{
    border-bottom:1px solid var(--line);
    padding:14px 0
}
.contact-list dt{
    color:#ff8383;
    font-family:Patrick Hand;
    font-size:1.3rem
}
.contact-list dd{
    overflow-wrap:anywhere;
    margin:2px 0 0
}
.contact-list a:hover{
    text-underline-offset:4px;
    text-decoration:underline
}
.copy-email{
    border:1px solid var(--line);
    border-radius:4px;
    margin-left:12px;
    padding:2px 7px;
    font-size:.72rem
}
.tip-note{
    color:#d9d3d7;
    margin-top:28px
}
.thank-you{
    color:#ff8383;
    margin-top:17px;
    font-family:Patrick Hand;
    font-size:1.9rem
}
.muted{
    color:var(--muted)
}
.button{
    background:var(--red);
    color:#fff;
    border:1px solid #ef5656;
    border-bottom-width:3px;
    border-radius:5px 7px 5px 6px;
    justify-content:center;
    align-items:center;
    gap:8px;
    padding:10px 19px;
    font-size:.92rem;
    font-weight:600;
    line-height:1.6;
    text-decoration:none;
    display:inline-flex
}
.button:hover{
    background:#990505
}
.button.secondary{
    color:var(--white);
    background:0 0;
    border:1px solid #696168
}
.button.secondary:hover{
    background:#393238
}
.button.small{
    padding:7px 12px;
    font-size:.8rem
}
.field-help{
    color:var(--muted);
    font-size:.76rem;
    line-height:1.6
}
.field-error{
    color:#ffabab;
    font-size:.85rem
}
.notice{
    overflow-wrap:anywhere;
    background:#262633;
    border:1px solid #55579e;
    border-left:4px solid #9295ff;
    border-radius:5px;
    margin-bottom:22px;
    padding:14px 18px;
    font-size:.9rem
}
.notice.success{
    background:#1c3024;
    border-color:#477a53 #477a53 #477a53 #8be0a2
}
.notice.error{
    background:#392021;
    border-color:#9c4c4c #9c4c4c #9c4c4c #f99
}
.notice button{
    font-weight:700;
    text-decoration:underline
}
.art-viewer{
    color:#fff;
    background:#171517;
    border:1px solid #625b61;
    border-radius:8px;
    width:94vw;
    max-width:1400px;
    height:94vh;
    max-height:94vh;
    margin:auto;
    padding:55px 55px 50px;
    position:fixed;
    inset:0
}
.art-viewer::backdrop{
    background:#000e
}
.art-viewer img{
    object-fit:contain;
    width:100%;
    height:100%
}
.art-viewer button{
    background:#343034;
    border:1px solid #777078;
    border-radius:5px;
    width:40px;
    height:40px;
    font-size:1.25rem;
    position:absolute;
    display:grid;
    place-items:center
}
.viewer-close{
    top:10px;
    right:12px
}
.viewer-prev{
    top:50%;
    left:8px
}
.viewer-next{
    top:50%;
    right:8px
}
.viewer-original{
    white-space:nowrap;
    font-size:.85rem;
    text-decoration:underline;
    position:absolute;
    bottom:12px;
    left:50%;
    transform:translate(-50%)
}
.admin-shell{
    width:min(1280px,100% - 56px);
    margin-inline:auto
}
.admin-header{
    background:#1b181b;
    border-bottom:1px solid #494147;
    padding:20px 0
}
.admin-header .wordmark{
    font-size:2rem
}
.visit-link{
    color:#d4cbd2;
    font-size:.82rem
}
.visit-link:hover{
    text-decoration:underline
}
.admin-main{
    padding-top:35px
}
.admin-heading{
    margin-bottom:30px
}
.admin-heading h1{
    font-size:3.3rem
}
.admin-heading p{
    margin-top:7px;
    font-size:.88rem
}
.admin-tabs{
    border-bottom:1px solid #494147;
    gap:5px;
    margin-bottom:28px;
    display:flex;
    overflow:auto
}
.admin-tabs a{
    color:var(--muted);
    white-space:nowrap;
    border-bottom:3px solid #0000;
    padding:12px 24px 13px;
    font-size:.9rem;
    font-weight:600
}
.admin-tabs a:hover{
    color:#fff;
    background:#241f23
}
.admin-tabs .tab-active{
    color:#fff!important;
    background:#2a1a1d!important;
    border-bottom-color:#ff4949!important
}
.admin-card{
    background:#201c20;
    border:1px solid #4a4148;
    border-radius:8px;
    padding:25px
}
.admin-card h2{
    font-size:1.9rem
}
.admin-card>.muted{
    font-size:.9rem;
    line-height:1.7
}
.admin-card label{
    margin-bottom:8px;
    font-size:.88rem;
    font-weight:600;
    display:block
}
.admin-card input:not([type=checkbox]):not([type=file]),.admin-card textarea,.admin-card select,.search-form input{
    width:100%;
    color:var(--white);
    background:#151215;
    border:1px solid #665b64;
    border-radius:5px;
    padding:11px 13px;
    font-family:inherit;
    font-size:.95rem;
    line-height:1.5
}
.admin-card textarea{
    resize:vertical;
    min-height:130px
}
.admin-card select{
    color-scheme:dark
}
.upload-card{
    align-self:start
}
.upload-card .upload-zone{
    cursor:pointer;
    text-align:center;
    background:#282229;
    border:1.5px dashed #837580;
    border-radius:6px;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-height:175px;
    padding:18px 8px;
    font-size:.82rem;
    font-weight:400;
    display:flex;
    position:relative;
    overflow:hidden
}
.upload-zone:focus-within,.upload-zone.drag-over{
    background:#2b2942;
    outline:2px solid #a2a5ff
}
.upload-zone input{
    opacity:0;
    cursor:pointer;
    width:100%;
    height:100%;
    position:absolute;
    inset:0
}
.upload-plus{
    color:#f77;
    margin-bottom:12px;
    font-size:2rem;
    line-height:1
}
.upload-zone strong{
    color:#fff;
    font-size:.9rem
}
.upload-zone>span:last-of-type{
    color:var(--muted)
}
#upload-preview{
    object-fit:contain;
    border:1px solid var(--line);
    border-radius:4px;
    width:100%;
    max-height:220px;
    margin-top:15px
}
#upload-filename{
    overflow-wrap:anywhere;
    margin-top:8px
}
.gallery-toolbar{
    margin-bottom:19px
}
.gallery-toolbar h2{
    font-size:1.8rem
}
.gallery-toolbar h2 span{
    font-family:Arial;
    font-size:.9rem
}
.search-form{
    max-width:340px
}
.search-form input{
    min-width:0;
    padding:8px 11px;
    font-size:.85rem
}
.admin-art-card{
    background:#211c21;
    border:1px solid #4a4148;
    border-radius:7px;
    overflow:hidden
}
.admin-art-card>a{
    background:#f0eaf0;
    display:block
}
.admin-art-card img{
    aspect-ratio:1;
    object-fit:cover;
    width:100%
}
.art-card-detail{
    padding:11px 13px
}
.art-card-detail>p{
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#e5dce3;
    margin-bottom:7px;
    font-size:.75rem;
    overflow:hidden
}
.delete-button{
    color:#ffa3a3;
    border-radius:4px;
    padding:3px 7px;
    font-size:.76rem
}
.delete-button:hover{
    color:#fff;
    background:#4d252b
}
.narrow-card{
    max-width:640px
}
.content-toolbar{
    margin-bottom:24px
}
.content-toolbar .muted{
    margin-top:7px;
    font-size:.87rem
}
.editor-card{
    margin-bottom:22px
}
.editor-card label{
    margin:0 0 12px;
    font-size:1rem
}
.editor-meta{
    gap:12px;
    margin-top:7px
}
.preview-button{
    color:#c0c2ff;
    text-underline-offset:3px;
    margin-bottom:12px;
    font-size:.8rem;
    text-decoration:underline
}
.content-preview{
    border-top:1px solid var(--line);
    margin-top:18px;
    padding-top:18px
}
.checkbox-label{
    align-items:flex-start;
    gap:10px;
    font-size:.85rem!important;
    font-weight:400!important;
    display:flex!important
}
.checkbox-label input{
    accent-color:var(--red);
    flex-shrink:0;
    width:17px;
    height:17px;
    margin-top:4px
}
.import-complete{
    color:#8be0a2
}
.admin-footer{
    color:#a59aa3;
    border-top:1px solid #363036;
    margin-top:35px;
    padding:32px 0;
    font-size:.76rem
}
.login-wrap{
    text-align:center;
    width:min(460px,100% - 40px);
    margin:9vh auto 30px
}
.login-wrap>.wordmark{
    margin-bottom:30px;
    font-size:2.8rem
}
.login-card{
    text-align:left;
    border-top:4px solid var(--red);
    box-shadow:5px 5px 0 var(--blue);
    padding:30px
}
.login-card h1{
    margin-bottom:12px;
    font-size:2.8rem
}
.password-wrap{
    position:relative
}
.password-wrap input{
    padding-right:65px!important
}
.password-wrap button{
    color:#c4b9c1;
    font-size:.85rem;
    position:absolute;
    top:12px;
    right:12px
}
.back-link{
    color:#bcb0ba;
    margin-top:26px;
    font-size:.84rem;
    display:inline-block
}
#caps-warning{
    margin-top:8px;
    font-size:.8rem
}
@media (max-width:900px){
    .nav-links{
        gap:3px;
        padding-inline:5px
    }
    .nav-links a{
        padding-inline:9px;
        font-size:1.18rem
    }
    .paper-panel{
        padding:32px 27px
    }
    .home-panel:before{
        left:10%
    }
    .home-panel:after{
        right:8%
    }
}
@media (max-width:767px){
    .shell{
        width:calc(100% - 28px)
    }
    .site-header{
        padding:27px 0 23px
    }
    .site-header .wordmark{
        font-size:2.75rem
    }
    .public-main{
        padding-block:22px
    }
    .paper-panel{
        padding:28px 19px
    }
    .home-panel h1{
        font-size:3.1rem
    }
    .hero-art{
        width:320px;
        max-width:90%;
        margin-top:28px
    }
    .home-panel:before{
        font-size:40px;
        top:35%;
        left:5%
    }
    .home-panel:after{
        font-size:35px;
        top:60%;
        right:4%
    }
    .footer-inner{
        justify-content:center;
        padding:19px
    }
    .credit{
        text-align:center
    }
    .social-links{
        justify-content:center
    }
    .about-layout,.contact-layout{
        grid-template-columns:1fr
    }
    .about-art{
        order:2;
        max-height:300px
    }
    .contact-art{
        max-width:210px
    }
    .contact-list dd{
        font-size:.88rem
    }
    .art-grid{
        gap:14px
    }
    .gallery-intro{
        font-size:.92rem
    }
    .menu-toggle{
        display:none
    }
    .js .menu-toggle{
        justify-content:space-between;
        align-items:center;
        width:100%;
        padding:10px 17px;
        font-family:Patrick Hand;
        font-size:1.4rem;
        display:flex
    }
    .nav-links{
        flex-wrap:wrap;
        gap:5px;
        padding:10px
    }
    .js .nav-links{
        display:none
    }
    .js .nav-links.is-open{
        display:flex
    }
    .nav-links a{
        padding:5px 11px;
        font-size:1.18rem
    }
    .nav-links a[aria-current]{
        transform:none
    }
    .page-title{
        font-size:2.8rem
    }
    .admin-shell{
        width:calc(100% - 30px)
    }
    .admin-header{
        padding:15px 0
    }
    .admin-header .wordmark{
        font-size:1.75rem
    }
    .admin-header .button{
        padding:6px 9px
    }
    .visit-link{
        font-size:.76rem
    }
    .admin-main{
        padding-top:25px
    }
    .admin-heading h1{
        font-size:2.8rem
    }
    .admin-heading{
        margin-bottom:20px
    }
    .admin-tabs{
        gap:0
    }
    .admin-tabs a{
        padding:12px 16px;
        font-size:.84rem
    }
    .admin-card{
        padding:21px
    }
    .gallery-toolbar{
        align-items:stretch
    }
    .search-form{
        width:100%;
        max-width:none
    }
    .editor-meta{
        flex-wrap:wrap;
        gap:3px
    }
    .pagination{
        gap:12px;
        font-size:.8rem
    }
    .pagination .button{
        padding:8px 10px;
        font-size:.8rem
    }
    .art-viewer{
        border-radius:0;
        width:100vw;
        height:100dvh;
        max-height:100dvh;
        padding:55px 32px
    }
    .art-viewer button{
        width:32px
    }
    .viewer-prev{
        left:0
    }
    .viewer-next{
        right:0
    }
    .login-wrap{
        margin-top:6vh
    }
    .login-card{
        padding:24px
    }
}
@media (prefers-reduced-motion:reduce){
    *,:before,:after{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important
    }
}

/* Font Awesome icon alignment */
.social-links a .external-icon{font-size:.72em;color:#635d63;margin-left:.25em}
.credit .fa-heart{color:var(--red);font-size:.88em;margin-inline:.12em}
.visit-link .external-icon{font-size:.78em;margin-left:.25em}
.viewer-original .external-icon{font-size:.78em;margin-left:.3em}
.back-link{display:inline-flex;align-items:center;gap:.45rem}
.import-complete .fa-circle-check{margin-right:.35em}
.art-viewer button{display:grid;place-items:center;font-size:1.25rem}
.upload-plus{font-size:2rem;margin-bottom:12px}
