@charset "UTF-8";/*!
 * Pico CSS ✨ v2.1.1 (https://picocss.com)
 * Copyright 2019-2025 - Licensed under MIT
 */:host,:root{--pico-font-family-emoji:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--pico-font-family-sans-serif:system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif,var(--pico-font-family-emoji);--pico-font-family-monospace:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace,var(--pico-font-family-emoji);--pico-font-family:var(--pico-font-family-sans-serif);--pico-line-height:1.5;--pico-font-weight:400;--pico-font-size:100%;--pico-text-underline-offset:0.1rem;--pico-border-radius:0.25rem;--pico-border-width:0.0625rem;--pico-outline-width:0.125rem;--pico-transition:0.2s ease-in-out;--pico-spacing:1rem;--pico-typography-spacing-vertical:1rem;--pico-block-spacing-vertical:var(--pico-spacing);--pico-block-spacing-horizontal:var(--pico-spacing);--pico-grid-column-gap:var(--pico-spacing);--pico-grid-row-gap:var(--pico-spacing);--pico-form-element-spacing-vertical:0.75rem;--pico-form-element-spacing-horizontal:1rem;--pico-group-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-primary-focus);--pico-group-box-shadow-focus-with-input:0 0 0 0.0625rem var(--pico-form-element-border-color);--pico-modal-overlay-backdrop-filter:blur(0.375rem);--pico-nav-element-spacing-vertical:1rem;--pico-nav-element-spacing-horizontal:0.5rem;--pico-nav-link-spacing-vertical:0.5rem;--pico-nav-link-spacing-horizontal:0.5rem;--pico-nav-breadcrumb-divider:">";--pico-icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--pico-icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--pico-icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--pico-icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--pico-icon-loading:url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}@media (min-width:576px){:host,:root{--pico-font-size:106.25%}}@media (min-width:768px){:host,:root{--pico-font-size:112.5%}}@media (min-width:1024px){:host,:root{--pico-font-size:118.75%}}@media (min-width:1280px){:host,:root{--pico-font-size:125%}}@media (min-width:1536px){:host,:root{--pico-font-size:131.25%}}a{--pico-text-decoration:underline}a.contrast,a.secondary{--pico-text-decoration:underline}small{--pico-font-size:0.875em}h1,h2,h3,h4,h5,h6{--pico-font-weight:700}h1{--pico-font-size:2rem;--pico-line-height:1.125;--pico-typography-spacing-top:3rem}h2{--pico-font-size:1.75rem;--pico-line-height:1.15;--pico-typography-spacing-top:2.625rem}h3{--pico-font-size:1.5rem;--pico-line-height:1.175;--pico-typography-spacing-top:2.25rem}h4{--pico-font-size:1.25rem;--pico-line-height:1.2;--pico-typography-spacing-top:1.874rem}h5{--pico-font-size:1.125rem;--pico-line-height:1.225;--pico-typography-spacing-top:1.6875rem}h6{--pico-font-size:1rem;--pico-line-height:1.25;--pico-typography-spacing-top:1.5rem}tfoot td,tfoot th,thead td,thead th{--pico-font-weight:600;--pico-border-width:0.1875rem}code,kbd,pre,samp{--pico-font-family:var(--pico-font-family-monospace)}kbd{--pico-font-weight:bolder}:where(select,textarea),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-outline-width:0.0625rem}[type=search]{--pico-border-radius:5rem}[type=checkbox],[type=radio]{--pico-border-width:0.125rem}[type=checkbox][role=switch]{--pico-border-width:0.1875rem}details.dropdown summary:not([role=button]){--pico-outline-width:0.0625rem}nav details.dropdown summary:focus-visible{--pico-outline-width:0.125rem}[role=search]{--pico-border-radius:5rem}[role=group]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus),[role=search]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus){--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[role=group]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus),[role=search]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus){--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-contrast-focus)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=submit],[role=search] button{--pico-form-element-spacing-horizontal:2rem}details summary[role=button]:not(.outline)::after{filter:brightness(0) invert(1)}[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0) invert(1)}:host(:not([data-theme=dark])),:root:not([data-theme=dark]),[data-theme=light]{color-scheme:light;--pico-background-color:#fff;--pico-color:#373c44;--pico-text-selection-color:rgba(2, 154, 232, 0.25);--pico-muted-color:#646b79;--pico-muted-border-color:rgb(231, 234, 239.5);--pico-primary:#0172ad;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 114, 173, 0.5);--pico-primary-hover:#015887;--pico-primary-hover-background:#02659a;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(2, 154, 232, 0.5);--pico-primary-inverse:#fff;--pico-secondary:#5d6b89;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(93, 107, 137, 0.5);--pico-secondary-hover:#48536b;--pico-secondary-hover-background:#48536b;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(93, 107, 137, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#181c25;--pico-contrast-background:#181c25;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(24, 28, 37, 0.5);--pico-contrast-hover:#000;--pico-contrast-hover-background:#000;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-secondary-hover);--pico-contrast-focus:rgba(93, 107, 137, 0.25);--pico-contrast-inverse:#fff;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698),0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024),0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03),0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036),0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302),0.5rem 1rem 6rem rgba(129, 145, 181, 0.06),0 0 0 0.0625rem rgba(129, 145, 181, 0.015);--pico-h1-color:#2d3138;--pico-h2-color:#373c44;--pico-h3-color:#424751;--pico-h4-color:#4d535e;--pico-h5-color:#5c6370;--pico-h6-color:#646b79;--pico-mark-background-color:rgb(252.5, 230.5, 191.5);--pico-mark-color:#0f1114;--pico-ins-color:rgb(28.5, 105.5, 84);--pico-del-color:rgb(136, 56.5, 53);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(243, 244.5, 246.75);--pico-code-color:#646b79;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(251, 251.5, 252.25);--pico-form-element-selected-background-color:#dfe3eb;--pico-form-element-border-color:#cfd5e2;--pico-form-element-color:#23262c;--pico-form-element-placeholder-color:var(--pico-muted-color);--pico-form-element-active-background-color:#fff;--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(183.5, 105.5, 106.5);--pico-form-element-invalid-active-border-color:rgb(200.25, 79.25, 72.25);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:rgb(76, 154.5, 137.5);--pico-form-element-valid-active-border-color:rgb(39, 152.75, 118.75);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#bfc7d9;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#dfe3eb;--pico-range-active-border-color:#bfc7d9;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:var(--pico-background-color);--pico-card-border-color:var(--pico-muted-border-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(251, 251.5, 252.25);--pico-dropdown-background-color:#fff;--pico-dropdown-border-color:#eff1f4;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#eff1f4;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(232, 234, 237, 0.75);--pico-progress-background-color:#dfe3eb;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme=dark])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme=dark]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),[data-theme=light] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}@media only screen and (prefers-color-scheme:dark){:host(:not([data-theme])),:root:not([data-theme]){color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(1, 170, 255, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#01aaff;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 170, 255, 0.5);--pico-primary-hover:#79c0ff;--pico-primary-hover-background:#017fc0;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(1, 170, 255, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-dropdown-background-color:#181c25;--pico-dropdown-border-color:#202632;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#202632;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}:host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after,:root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after{filter:brightness(0)}:host(:not([data-theme])) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before,:root:not([data-theme]) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0)}}[data-theme=dark]{color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(1, 170, 255, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#01aaff;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 170, 255, 0.5);--pico-primary-hover:#79c0ff;--pico-primary-hover-background:#017fc0;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(1, 170, 255, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-dropdown-background-color:#181c25;--pico-dropdown-border-color:#202632;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#202632;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}[data-theme=dark] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}[data-theme=dark] details summary[role=button].contrast:not(.outline)::after{filter:brightness(0)}[data-theme=dark] [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0)}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--pico-primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:host),:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family);text-underline-offset:var(--pico-text-underline-offset);text-rendering:optimizeLegibility;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{width:100%;margin:0}main{display:block}body>footer,body>header,body>main{padding-block:var(--pico-block-spacing-vertical)}section{margin-bottom:var(--pico-block-spacing-vertical)}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--pico-spacing);padding-left:var(--pico-spacing)}@media (min-width:576px){.container{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){.container{max-width:700px}}@media (min-width:1024px){.container{max-width:950px}}@media (min-width:1280px){.container{max-width:1200px}}@media (min-width:1536px){.container{max-width:1450px}}.grid{grid-column-gap:var(--pico-grid-column-gap);grid-row-gap:var(--pico-grid-row-gap);display:grid;grid-template-columns:1fr}@media (min-width:768px){.grid{grid-template-columns:repeat(auto-fit,minmax(0%,1fr))}}.grid>*{min-width:0}.overflow-auto{overflow:auto}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-style:normal;font-weight:var(--pico-font-weight)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family)}h1{--pico-color:var(--pico-h1-color)}h2{--pico-color:var(--pico-h2-color)}h3{--pico-color:var(--pico-h3-color)}h4{--pico-color:var(--pico-h4-color)}h5{--pico-color:var(--pico-h5-color)}h6{--pico-color:var(--pico-h6-color)}:where(article,address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--pico-typography-spacing-top)}p{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup>*{margin-top:0;margin-bottom:0}hgroup>:not(:first-child):last-child{--pico-color:var(--pico-muted-color);--pico-font-weight:unset;font-size:1rem}:where(ol,ul) li{margin-bottom:calc(var(--pico-typography-spacing-vertical) * .25)}:where(dl,ol,ul) :where(dl,ol,ul){margin:0;margin-top:calc(var(--pico-typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--pico-mark-background-color);color:var(--pico-mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--pico-typography-spacing-vertical) 0;padding:var(--pico-spacing);border-right:none;border-left:.25rem solid var(--pico-blockquote-border-color);border-inline-start:0.25rem solid var(--pico-blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--pico-typography-spacing-vertical) * .5);color:var(--pico-blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--pico-ins-color);text-decoration:none}del{color:var(--pico-del-color)}::-moz-selection{background-color:var(--pico-text-selection-color)}::selection{background-color:var(--pico-text-selection-color)}:where(a:not([role=button])),[role=link]{--pico-color:var(--pico-primary);--pico-background-color:transparent;--pico-underline:var(--pico-primary-underline);outline:0;background-color:var(--pico-background-color);color:var(--pico-color);-webkit-text-decoration:var(--pico-text-decoration);text-decoration:var(--pico-text-decoration);text-decoration-color:var(--pico-underline);text-underline-offset:0.125em;transition:background-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition)}:where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-primary-hover);--pico-underline:var(--pico-primary-hover-underline);--pico-text-decoration:underline}:where(a:not([role=button])):focus-visible,[role=link]:focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}:where(a:not([role=button])).secondary,[role=link].secondary{--pico-color:var(--pico-secondary);--pico-underline:var(--pico-secondary-underline)}:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link].secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-secondary-hover);--pico-underline:var(--pico-secondary-hover-underline)}:where(a:not([role=button])).contrast,[role=link].contrast{--pico-color:var(--pico-contrast);--pico-underline:var(--pico-contrast-underline)}:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link].contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-contrast-hover);--pico-underline:var(--pico-contrast-hover-underline)}a[role=button]{display:inline-block}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[role=button],[type=button],[type=file]::file-selector-button,[type=reset],[type=submit],button{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);--pico-color:var(--pico-primary-inverse);--pico-box-shadow:var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:1rem;line-height:var(--pico-line-height);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}[role=button]:is(:hover,:active,:focus),[role=button]:is([aria-current]:not([aria-current=false])),[type=button]:is(:hover,:active,:focus),[type=button]:is([aria-current]:not([aria-current=false])),[type=file]::file-selector-button:is(:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),[type=reset]:is(:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false])),[type=submit]:is(:hover,:active,:focus),[type=submit]:is([aria-current]:not([aria-current=false])),button:is(:hover,:active,:focus),button:is([aria-current]:not([aria-current=false])){--pico-background-color:var(--pico-primary-hover-background);--pico-border-color:var(--pico-primary-hover-border);--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--pico-color:var(--pico-primary-inverse)}[role=button]:focus,[role=button]:is([aria-current]:not([aria-current=false])):focus,[type=button]:focus,[type=button]:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus,[type=submit]:focus,[type=submit]:is([aria-current]:not([aria-current=false])):focus,button:focus,button:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}[type=button],[type=reset],[type=submit]{margin-bottom:var(--pico-spacing)}:is(button,[type=submit],[type=button],[role=button]).secondary,[type=file]::file-selector-button,[type=reset]{--pico-background-color:var(--pico-secondary-background);--pico-border-color:var(--pico-secondary-border);--pico-color:var(--pico-secondary-inverse);cursor:pointer}:is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border);--pico-color:var(--pico-secondary-inverse)}:is(button,[type=submit],[type=button],[role=button]).secondary:focus,:is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}:is(button,[type=submit],[type=button],[role=button]).contrast{--pico-background-color:var(--pico-contrast-background);--pico-border-color:var(--pico-contrast-border);--pico-color:var(--pico-contrast-inverse)}:is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:var(--pico-contrast-hover-background);--pico-border-color:var(--pico-contrast-hover-border);--pico-color:var(--pico-contrast-inverse)}:is(button,[type=submit],[type=button],[role=button]).contrast:focus,:is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-contrast-focus)}:is(button,[type=submit],[type=button],[role=button]).outline,[type=reset].outline{--pico-background-color:transparent;--pico-color:var(--pico-primary);--pico-border-color:var(--pico-primary)}:is(button,[type=submit],[type=button],[role=button]).outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:transparent;--pico-color:var(--pico-primary-hover);--pico-border-color:var(--pico-primary-hover)}:is(button,[type=submit],[type=button],[role=button]).outline.secondary,[type=reset].outline{--pico-color:var(--pico-secondary);--pico-border-color:var(--pico-secondary)}:is(button,[type=submit],[type=button],[role=button]).outline.secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-secondary-hover);--pico-border-color:var(--pico-secondary-hover)}:is(button,[type=submit],[type=button],[role=button]).outline.contrast{--pico-color:var(--pico-contrast);--pico-border-color:var(--pico-contrast)}:is(button,[type=submit],[type=button],[role=button]).outline.contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-contrast-hover);--pico-border-color:var(--pico-contrast-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]){opacity:.5;pointer-events:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--pico-spacing)/ 2) var(--pico-spacing);border-bottom:var(--pico-border-width) solid var(--pico-table-border-color);background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--pico-border-width) solid var(--pico-table-border-color);border-bottom:0}table.striped tbody tr:nth-child(odd) td,table.striped tbody tr:nth-child(odd) th{background-color:var(--pico-table-row-stripped-background-color)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:host),svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:.875em;font-family:var(--pico-font-family)}pre code,pre samp{font-size:inherit;font-family:inherit}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre,samp{border-radius:var(--pico-border-radius);background:var(--pico-code-background-color);color:var(--pico-code-color);font-weight:var(--pico-font-weight);line-height:initial}code,kbd,samp{display:inline-block;padding:.375rem}pre{display:block;margin-bottom:var(--pico-spacing);overflow-x:auto}pre>code,pre>samp{display:block;padding:var(--pico-spacing);background:0 0;line-height:var(--pico-line-height)}kbd{background-color:var(--pico-code-kbd-background-color);color:var(--pico-code-kbd-color);vertical-align:baseline}figure{display:block;margin:0;padding:0}figure figcaption{padding:calc(var(--pico-spacing) * .5) 0;color:var(--pico-muted-color)}hr{height:0;margin:var(--pico-typography-spacing-vertical) 0;border:0;border-top:1px solid var(--pico-muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--pico-line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2)}fieldset{width:100%;margin:0;margin-bottom:var(--pico-spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--pico-spacing) * .375);color:var(--pico-color);font-weight:var(--pico-form-label-font-weight,var(--pico-font-weight))}fieldset legend{margin-bottom:calc(var(--pico-spacing) * .5)}button[type=submit],input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal)}input,select,textarea{--pico-background-color:var(--pico-form-element-background-color);--pico-border-color:var(--pico-form-element-border-color);--pico-color:var(--pico-form-element-color);--pico-box-shadow:none;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--pico-background-color:var(--pico-form-element-active-background-color)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--pico-border-color:var(--pico-form-element-active-border-color)}:where(select,textarea):not([readonly]):focus,input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus{--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],label[aria-disabled=true],select[disabled],textarea[disabled]{opacity:var(--pico-form-element-disabled-opacity);pointer-events:none}label[aria-disabled=true] input[disabled]{opacity:1}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid]{padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=false]:not(select){background-image:var(--pico-icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=true]:not(select){background-image:var(--pico-icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--pico-border-color:var(--pico-form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--pico-border-color:var(--pico-form-element-valid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--pico-border-color:var(--pico-form-element-invalid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--pico-form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--pico-spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal);padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);background-image:var(--pico-icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}select[multiple] option:checked{background:var(--pico-form-element-selected-background-color);color:var(--pico-form-element-color)}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}textarea{display:block;resize:vertical}textarea[aria-invalid]{--pico-icon-height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);background-position:top right .75rem!important;background-size:1rem var(--pico-icon-height)!important}:where(input,select,textarea,fieldset,.grid)+small{display:block;width:100%;margin-top:calc(var(--pico-spacing) * -.75);margin-bottom:var(--pico-spacing);color:var(--pico-muted-color)}:where(input,select,textarea,fieldset,.grid)[aria-invalid=false]+small{color:var(--pico-ins-color)}:where(input,select,textarea,fieldset,.grid)[aria-invalid=true]+small{color:var(--pico-del-color)}label>:where(input,select,textarea){margin-top:calc(var(--pico-spacing) * .25)}label:has([type=checkbox],[type=radio]){width:-moz-fit-content;width:fit-content;cursor:pointer}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-inline-end:.5em;border-width:var(--pico-border-width);vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-bottom:0;cursor:pointer}[type=checkbox]~label:not(:last-of-type),[type=radio]~label:not(:last-of-type){margin-inline-end:1em}[type=checkbox]:indeterminate{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--pico-background-color:var(--pico-switch-background-color);--pico-color:var(--pico-switch-color);width:2.25em;height:1.25em;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:1.25em;background-color:var(--pico-background-color);line-height:1.25em}[type=checkbox][role=switch]:not([aria-invalid]){--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:before{display:block;aspect-ratio:1;height:100%;border-radius:50%;background-color:var(--pico-color);box-shadow:var(--pico-switch-thumb-box-shadow);content:"";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:focus{--pico-background-color:var(--pico-switch-background-color);--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:checked{--pico-background-color:var(--pico-switch-checked-background-color);--pico-border-color:var(--pico-switch-checked-background-color);background-image:none}[type=checkbox][role=switch]:checked::before{margin-inline-start:calc(2.25em - 1.25em)}[type=checkbox][role=switch][disabled]{--pico-background-color:var(--pico-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus{--pico-background-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true]{--pico-background-color:var(--pico-form-element-invalid-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus,[type=radio][aria-invalid=false]:checked,[type=radio][aria-invalid=false]:checked:active,[type=radio][aria-invalid=false]:checked:focus{--pico-border-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=radio]:checked:active[aria-invalid=true],[type=radio]:checked:focus[aria-invalid=true],[type=radio]:checked[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--pico-icon-position:0.75rem;--pico-icon-width:1rem;padding-right:calc(var(--pico-icon-width) + var(--pico-icon-position));background-image:var(--pico-icon-date);background-position:center right var(--pico-icon-position);background-size:var(--pico-icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--pico-icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--pico-icon-width);margin-right:calc(var(--pico-icon-width) * -1);margin-left:var(--pico-icon-position);opacity:0}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--pico-form-element-spacing-horizontal)!important;background-image:none!important}}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}[type=file]{--pico-color:var(--pico-muted-color);margin-left:calc(var(--pico-outline-width) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) 0;padding-left:var(--pico-outline-width);border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{margin-right:calc(var(--pico-spacing)/ 2);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal)}[type=file]:is(:hover,:active,:focus)::file-selector-button{--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border)}[type=file]:focus::file-selector-button{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-webkit-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-moz-range-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-moz-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-ms-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-ms-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-moz-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-ms-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]:active,[type=range]:focus-within{--pico-range-border-color:var(--pico-range-active-border-color);--pico-range-thumb-color:var(--pico-range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);background-image:var(--pico-icon-search);background-position:center left calc(var(--pico-form-element-spacing-horizontal) + .125rem);background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--pico-icon-search),var(--pico-icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--pico-icon-search),var(--pico-icon-invalid)}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}details{display:block;margin-bottom:var(--pico-spacing)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--pico-transition)}details summary:not([role]){color:var(--pico-accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--pico-spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--pico-transition)}details summary:focus{outline:0}details summary:focus:not([role]){color:var(--pico-accordion-active-summary-color)}details summary:focus-visible:not([role]){outline:var(--pico-outline-width) solid var(--pico-primary-focus);outline-offset:calc(var(--pico-spacing,1rem) * 0.5);color:var(--pico-primary)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--pico-line-height,1.5))}details[open]>summary{margin-bottom:var(--pico-spacing)}details[open]>summary:not([role]):not(:focus){color:var(--pico-accordion-open-summary-color)}details[open]>summary::after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary::after{float:left;background-position:left center}article{margin-bottom:var(--pico-block-spacing-vertical);padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);border-radius:var(--pico-border-radius);background:var(--pico-card-background-color);box-shadow:var(--pico-card-box-shadow)}article>footer,article>header{margin-right:calc(var(--pico-block-spacing-horizontal) * -1);margin-left:calc(var(--pico-block-spacing-horizontal) * -1);padding:calc(var(--pico-block-spacing-vertical) * .66) var(--pico-block-spacing-horizontal);background-color:var(--pico-card-sectioning-background-color)}article>header{margin-top:calc(var(--pico-block-spacing-vertical) * -1);margin-bottom:var(--pico-block-spacing-vertical);border-bottom:var(--pico-border-width) solid var(--pico-card-border-color);border-top-right-radius:var(--pico-border-radius);border-top-left-radius:var(--pico-border-radius)}article>footer{margin-top:var(--pico-block-spacing-vertical);margin-bottom:calc(var(--pico-block-spacing-vertical) * -1);border-top:var(--pico-border-width) solid var(--pico-card-border-color);border-bottom-right-radius:var(--pico-border-radius);border-bottom-left-radius:var(--pico-border-radius)}details.dropdown{position:relative;border-bottom:none}details.dropdown>a::after,details.dropdown>button::after,details.dropdown>summary::after{display:block;width:1rem;height:calc(1rem * var(--pico-line-height,1.5));margin-inline-start:.25rem;float:right;transform:rotate(0) translateX(.2rem);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:""}nav details.dropdown{margin-bottom:0}details.dropdown>summary:not([role]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-form-element-border-color);border-radius:var(--pico-border-radius);background-color:var(--pico-form-element-background-color);color:var(--pico-form-element-placeholder-color);line-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}details.dropdown>summary:not([role]):active,details.dropdown>summary:not([role]):focus{border-color:var(--pico-form-element-active-border-color);background-color:var(--pico-form-element-active-background-color)}details.dropdown>summary:not([role]):focus{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}details.dropdown>summary:not([role]):focus-visible{outline:0}details.dropdown>summary:not([role])[aria-invalid=false]{--pico-form-element-border-color:var(--pico-form-element-valid-border-color);--pico-form-element-active-border-color:var(--pico-form-element-valid-focus-color);--pico-form-element-focus-color:var(--pico-form-element-valid-focus-color)}details.dropdown>summary:not([role])[aria-invalid=true]{--pico-form-element-border-color:var(--pico-form-element-invalid-border-color);--pico-form-element-active-border-color:var(--pico-form-element-invalid-focus-color);--pico-form-element-focus-color:var(--pico-form-element-invalid-focus-color)}nav details.dropdown{display:inline;margin:calc(var(--pico-nav-element-spacing-vertical) * -1) 0}nav details.dropdown>summary::after{transform:rotate(0) translateX(0)}nav details.dropdown>summary:not([role]){height:calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav details.dropdown>summary:not([role]):focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}details.dropdown>summary+ul{display:flex;z-index:99;position:absolute;left:0;flex-direction:column;width:100%;min-width:-moz-fit-content;min-width:fit-content;margin:0;margin-top:var(--pico-outline-width);padding:0;border:var(--pico-border-width) solid var(--pico-dropdown-border-color);border-radius:var(--pico-border-radius);background-color:var(--pico-dropdown-background-color);box-shadow:var(--pico-dropdown-box-shadow);color:var(--pico-dropdown-color);white-space:nowrap;opacity:0;transition:opacity var(--pico-transition),transform 0s ease-in-out 1s}details.dropdown>summary+ul[dir=rtl]{right:0;left:auto}details.dropdown>summary+ul li{width:100%;margin-bottom:0;padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal);list-style:none}details.dropdown>summary+ul li:first-of-type{margin-top:calc(var(--pico-form-element-spacing-vertical) * .5)}details.dropdown>summary+ul li:last-of-type{margin-bottom:calc(var(--pico-form-element-spacing-vertical) * .5)}details.dropdown>summary+ul li a{display:block;margin:calc(var(--pico-form-element-spacing-vertical) * -.5) calc(var(--pico-form-element-spacing-horizontal) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal);overflow:hidden;border-radius:0;color:var(--pico-dropdown-color);text-decoration:none;text-overflow:ellipsis}details.dropdown>summary+ul li a:active,details.dropdown>summary+ul li a:focus,details.dropdown>summary+ul li a:focus-visible,details.dropdown>summary+ul li a:hover,details.dropdown>summary+ul li a[aria-current]:not([aria-current=false]){background-color:var(--pico-dropdown-hover-background-color)}details.dropdown>summary+ul li label{width:100%}details.dropdown>summary+ul li:has(label):hover{background-color:var(--pico-dropdown-hover-background-color)}details.dropdown[open]>summary{margin-bottom:0}details.dropdown[open]>summary+ul{transform:scaleY(1);opacity:1;transition:opacity var(--pico-transition),transform 0s ease-in-out 0s}details.dropdown[open]>summary::before{display:block;z-index:1;position:fixed;width:100vw;height:100vh;inset:0;background:0 0;content:"";cursor:default}label>details.dropdown{margin-top:calc(var(--pico-spacing) * .25)}[role=group],[role=search]{display:inline-flex;position:relative;width:100%;margin-bottom:var(--pico-spacing);border-radius:var(--pico-border-radius);box-shadow:var(--pico-group-box-shadow,0 0 0 transparent);vertical-align:middle;transition:box-shadow var(--pico-transition)}[role=group] input:not([type=checkbox],[type=radio]),[role=group] select,[role=group]>*,[role=search] input:not([type=checkbox],[type=radio]),[role=search] select,[role=search]>*{position:relative;flex:1 1 auto;margin-bottom:0}[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=group]>:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child),[role=search]>:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}[role=group] input:not([type=checkbox],[type=radio]):not(:last-child),[role=group] select:not(:last-child),[role=group]>:not(:last-child),[role=search] input:not([type=checkbox],[type=radio]):not(:last-child),[role=search] select:not(:last-child),[role=search]>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}[role=group] input:not([type=checkbox],[type=radio]):focus,[role=group] select:focus,[role=group]>:focus,[role=search] input:not([type=checkbox],[type=radio]):focus,[role=search] select:focus,[role=search]>:focus{z-index:2}[role=group] [role=button]:not(:first-child),[role=group] [type=button]:not(:first-child),[role=group] [type=reset]:not(:first-child),[role=group] [type=submit]:not(:first-child),[role=group] button:not(:first-child),[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=search] [role=button]:not(:first-child),[role=search] [type=button]:not(:first-child),[role=search] [type=reset]:not(:first-child),[role=search] [type=submit]:not(:first-child),[role=search] button:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child){margin-left:calc(var(--pico-border-width) * -1)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=reset],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=reset],[role=search] [type=submit],[role=search] button{width:auto}@supports selector(:has(*)){[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-button)}[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select,[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button{--pico-button-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-border);--pico-button-hover-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-hover-border)}[role=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] button:focus{box-shadow:none}}[role=search]>:first-child{border-top-left-radius:5rem;border-bottom-left-radius:5rem}[role=search]>:last-child{border-top-right-radius:5rem;border-bottom-right-radius:5rem}[aria-busy=true]:not(input,select,textarea,html,form){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html,form)::before{display:inline-block;width:1em;height:1em;background-image:var(--pico-icon-loading);background-size:1em auto;background-repeat:no-repeat;content:"";vertical-align:-.125em}[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html,form):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:host,:root{--pico-scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:0;border:0;-webkit-backdrop-filter:var(--pico-modal-overlay-backdrop-filter);backdrop-filter:var(--pico-modal-overlay-backdrop-filter);background-color:var(--pico-modal-overlay-background-color);color:var(--pico-color)}dialog>article{width:100%;max-height:calc(100vh - var(--pico-spacing) * 2);margin:var(--pico-spacing);overflow:auto}@media (min-width:576px){dialog>article{max-width:510px}}@media (min-width:768px){dialog>article{max-width:700px}}dialog>article>header>*{margin-bottom:0}dialog>article>header .close,dialog>article>header :is(a,button)[rel=prev]{margin:0;margin-left:var(--pico-spacing);padding:0;float:right}dialog>article>footer{text-align:right}dialog>article>footer [role=button],dialog>article>footer button{margin-bottom:0}dialog>article>footer [role=button]:not(:first-of-type),dialog>article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .5)}dialog>article .close,dialog>article :is(a,button)[rel=prev]{display:block;width:1rem;height:1rem;margin-top:calc(var(--pico-spacing) * -1);margin-bottom:var(--pico-spacing);margin-left:auto;border:none;background-image:var(--pico-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent;opacity:.5;transition:opacity var(--pico-transition)}dialog>article .close:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),dialog>article :is(a,button)[rel=prev]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--pico-scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto;touch-action:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child)::after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, -0.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{--pico-tooltip-caret-slide-to:translate(0.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{--pico-tooltip-caret-slide-to:translate(-0.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}:root {
  color-scheme: light;
  --ink: #17211b;
  --ink-soft: #59645d;
  --ink-faint: #8b948d;
  --paper: #f3f1e9;
  --card: #fffdf8;
  --card-soft: #faf7ef;
  --line: #e5e0d3;
  --line-strong: #d5cfbe;
  --leaf: #1c5b45;
  --leaf-deep: #104333;
  --leaf-soft: #e4eee7;
  --clay: #b9674a;
  --danger: #a63e34;
  --shadow: 0 24px 60px -24px rgba(34, 50, 40, 0.28), 0 2px 8px rgba(34, 50, 40, 0.04);
  --radius: 18px;
  --pico-font-family: "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --pico-font-size: 100%;
  --pico-line-height: 1.5;
  --pico-primary: var(--leaf);
  --pico-primary-hover: var(--leaf-deep);
  --pico-primary-focus: rgba(28, 91, 69, 0.18);
  --pico-form-element-border-color: var(--line);
  --pico-form-element-active-border-color: var(--leaf);
  --pico-form-element-focus-color: rgba(28, 91, 69, 0.14);
  --pico-border-radius: 12px;
  --pico-background-color: var(--paper);
  --pico-color: var(--ink);
  --pico-h1-color: var(--ink);
  --pico-h2-color: var(--ink);
  --pico-muted-color: var(--ink-soft);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--paper);
}

body {
  min-height: 100svh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 224, 209, 0.65), transparent 38%),
    radial-gradient(circle at 86% 84%, rgba(231, 206, 179, 0.5), transparent 42%),
    var(--paper);
  font-family: var(--pico-font-family);
  -webkit-font-smoothing: antialiased;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: 0;
  background-image: radial-gradient(rgba(23, 33, 27, 0.11) 0.7px, transparent 0.7px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), transparent 68%);
  content: "";
  pointer-events: none;
}

button,
input {
  font-family: inherit;
}

button {
  box-shadow: none;
}

a {
  color: var(--leaf);
  text-decoration: none;
}

h1,
h2,
p {
  margin: 0;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 2px solid var(--leaf);
  outline-offset: 3px;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding: 44px 20px 26px;
}

.ambient {
  position: fixed;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(2px);
}

.ambient-one {
  top: 6%;
  left: calc(50% - 390px);
  width: 240px;
  height: 240px;
  background: radial-gradient(circle, rgba(182, 210, 188, 0.5), transparent 68%);
}

.ambient-two {
  right: calc(50% - 430px);
  bottom: 8%;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(224, 190, 154, 0.35), transparent 68%);
}

.window {
  position: relative;
  width: min(100%, 492px);
  padding: 24px 26px 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--card) 94%, transparent);
  border: 1px solid rgba(213, 207, 190, 0.86);
  border-radius: 28px;
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}

.brand {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
}

.brand-mark {
  display: grid;
  width: 30px;
  height: 30px;
  color: var(--leaf);
  place-items: center;
}

.brand-mark svg {
  width: 30px;
  height: 30px;
}

.brand-name {
  margin-top: -1px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.6px;
}

.secure-pill {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 5px 9px;
  color: #53675a;
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: var(--leaf-soft);
  border: 1px solid #d3e3d7;
  border-radius: 999px;
}

.eyebrow {
  margin-bottom: 9px;
  color: var(--clay);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.intro {
  margin-bottom: 20px;
}

.intro h1,
.success-panel h1,
.gate h1,
.share-content h1 {
  color: var(--ink);
  font-size: clamp(30px, 8vw, 37px);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -1.7px;
}

.intro h1 span {
  color: var(--leaf);
}

.intro-copy {
  max-width: 350px;
  margin-top: 12px;
  color: var(--ink-soft);
  font-size: 13.5px;
  line-height: 1.55;
}

.muted {
  color: var(--ink-soft);
  font-size: 13.5px;
  line-height: 1.55;
}

.dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25px 18px 21px;
  text-align: center;
  background:
    linear-gradient(var(--card-soft), var(--card-soft)) padding-box,
    repeating-linear-gradient(135deg, #d9d3c2 0 5px, transparent 5px 10px) border-box;
  border: 1px dashed transparent;
  border-radius: var(--radius);
  transition: background 160ms ease, border-color 160ms ease;
}

.dropzone::before {
  position: absolute;
  inset: 0;
  border: 1px dashed var(--dash);
  border-radius: var(--radius);
  content: "";
  pointer-events: none;
}

.dropzone.dragging {
  background: var(--leaf-soft);
}

.dropzone.dragging::before {
  border-color: var(--leaf);
}

.dropzone.has-files {
  padding: 18px;
}

.drop-icon {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 11px;
  color: var(--leaf);
  background: var(--icon-bg);
  border: 1px solid var(--icon-border);
  border-radius: var(--radius);
  place-items: center;
}

.dragging .drop-icon {
  color: var(--leaf-deep);
}

.drop-title {
  color: var(--ink);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: -0.2px;
}

.drop-copy {
  margin-top: 2px;
  color: var(--ink-faint);
  font-size: 12px;
}

.pick-row {
  display: flex;
  gap: 7px;
  justify-content: center;
  margin-top: 15px;
}

.btn {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 650;
  line-height: 1;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
}

.btn:hover {
  color: var(--ink);
}

.btn:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.btn-small {
  min-height: 34px;
  padding: 0 11px;
  font-size: 12px;
  border-radius: 9px;
}

.btn-primary {
  color: #fbf9f2;
  background: var(--leaf);
  border-color: var(--leaf);
  box-shadow: 0 8px 18px -10px rgba(16, 67, 51, 0.7);
}

.btn-primary:hover {
  color: #fff;
  background: var(--leaf-deep);
  border-color: var(--leaf-deep);
}

.btn-secondary {
  color: var(--ink);
  background: var(--card);
  border-color: var(--line-strong);
}

.btn-secondary:hover {
  background: #f4f1e8;
}

.btn-quiet {
  color: var(--ink-soft);
  background: transparent;
}

.btn-quiet:hover {
  background: #efebe1;
}

.btn-full {
  width: 100%;
  margin-top: 4px;
}

.btn-upload {
  position: relative;
  width: 100%;
  min-height: 50px;
  margin-top: 18px;
  font-size: 13.5px;
  border-radius: 13px;
}

.btn-upload svg {
  position: absolute;
  right: 17px;
}

.file-list {
  margin-top: 12px;
  overflow: hidden;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.file-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 13px 8px;
  color: var(--ink-faint);
  font-size: 10.5px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}

.file-list ul,
.recent-list,
.download-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.file-list ul {
  max-height: 174px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.file-list li,
.download-list li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border-bottom: 1px solid rgba(229, 224, 211, 0.7);
}

.file-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto 24px;
  grid-template-areas:
    "type name size remove"
    "type path size .";
  column-gap: 10px;
  row-gap: 0;
  padding: 5px 10px;
  margin: 0;
}

.file-list .file-type {
  grid-area: type;
  align-self: center;
}

.file-list .file-info {
  display: contents;
}

.file-list .file-name {
  grid-area: name;
}

.file-list .file-path {
  grid-area: path;
}

.file-list .file-size {
  grid-area: size;
  align-self: center;
}

.file-list .remove-file {
  grid-area: remove;
  align-self: center;
}

.file-list li:not(:has(.file-path)) {
  grid-template-areas: "type name size remove";
}

.file-list li:last-child,
.download-list li:last-child {
  border-bottom: 0;
}

.file-type {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  color: var(--leaf);
  background: #edf2eb;
  border: 1px solid #dde7dc;
  border-radius: 9px;
  place-items: center;
}

.file-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.file-name {
  overflow: hidden;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 550;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-path {
  overflow: hidden;
  color: var(--ink-faint);
  font-size: 10.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-size {
  flex: 0 0 auto;
  color: var(--ink-faint);
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}

.remove-file,
.recent-action,
.download-button,
.copy-button {
  display: grid;
  flex: 0 0 auto;
  padding: 0;
  margin: 0;
  color: var(--ink-faint);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  place-items: center;
}

.remove-file {
  width: 24px;
  height: 24px;
}

.remove-file:hover,
.recent-action:hover {
  color: var(--ink);
  background: #ece8dc;
}

.options {
  margin-top: 13px;
  overflow: hidden;
  background: rgba(250, 247, 239, 0.7);
  border: 1px solid var(--line);
  border-radius: 15px;
}

label.switch-row,
.password-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 49px;
  padding: 8px 13px;
}

.switch-row {
  border-bottom: 1px solid var(--line);
  cursor: pointer;
}

.switch-copy {
  display: flex;
  flex-direction: column;
}

.option-title {
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 600;
}

.option-note {
  color: var(--ink-faint);
  font-size: 10.5px;
}

.switch-row input[role="switch"] {
  flex: 0 0 auto;
  width: 38px;
  height: 22px;
  margin: 0;
  background-color: #d8d4c7;
  border-color: transparent;
  box-shadow: none;
}

.switch-row input[role="switch"]:checked {
  background-color: var(--leaf);
}

.switch-row input[role="switch"]::after {
  width: 14px;
  height: 14px;
  background-color: #fffdf8;
}

.password-row {
  gap: 12px;
}

.password-row:focus-within {
  background: rgba(228, 238, 231, 0.37);
}

.password-label {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 5px;
  align-items: center;
  margin-bottom: 0;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1;
}

label.switch-row,
label.select-field {
  margin-bottom: 0;
}

.password-row input {
  flex: 1;
  width: 100%;
  height: 28px;
  padding: 0;
  margin: 0;
  color: var(--ink);
  font-size: 12.5px;
  text-align: right;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.password-row input::placeholder {
  color: #a2a9a1;
  opacity: 1;
}

.password-row input:focus {
  box-shadow: none;
}

.field-hint {
  padding: 0 13px 10px;
  margin: 0;
  color: var(--danger);
  font-size: 10.5px;
  line-height: 1.4;
}

.field-hint.soft {
  color: var(--ink-faint);
}

.field-hint.warn {
  color: var(--clay);
}

.field-hint.hidden {
  display: none;
}

.field-hint code {
  padding: 1px 4px;
  color: var(--ink-soft);
  font-size: 10px;
  background: #ece8dc;
  border-radius: 4px;
}

.error-box {
  padding: 10px 12px;
  margin: 11px 0 0;
  color: var(--danger);
  font-size: 11.5px;
  line-height: 1.45;
  background: #fbefec;
  border: 1px solid #efd5ce;
  border-radius: 10px;
}

.progress-card {
  padding: 13px;
  margin-top: 13px;
  background: var(--leaf-soft);
  border: 1px solid #d1e2d5;
  border-radius: 14px;
}

.progress-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  color: var(--leaf-deep);
  font-size: 12px;
  font-weight: 600;
}

.progress-line strong {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.progress-card progress {
  width: 100%;
  height: 6px;
  margin: 8px 0 7px;
  overflow: hidden;
  accent-color: var(--leaf);
  background: #cbdfd0;
  border: 0;
  border-radius: 99px;
}

.progress-card progress::-webkit-progress-bar {
  background: #cbdfd0;
  border-radius: 99px;
}

.progress-card progress::-webkit-progress-value {
  background: var(--leaf);
  border-radius: 99px;
  transition: width 120ms linear;
}

.progress-card progress::-moz-progress-bar {
  background: var(--leaf);
  border-radius: 99px;
}

.progress-card p {
  color: #607a68;
  font-size: 10.5px;
}

.recents {
  padding: 19px 0 20px;
  margin-top: 23px;
  border-top: 1px solid var(--line);
}

.section-head {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.section-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: -0.1px;
}

.section-head > span {
  display: grid;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
  background: #efebe0;
  border-radius: 99px;
  place-items: center;
}

.recent-empty {
  padding: 13px 0 4px;
  color: var(--ink-faint);
  font-size: 11.5px;
}

.recent-list {
  max-height: 182px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.recent-list li {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid rgba(229, 224, 211, 0.68);
}

.recent-list li:last-child {
  border-bottom: 0;
}

.recent-icon {
  display: grid;
  flex: 0 0 auto;
  width: 29px;
  height: 29px;
  color: var(--ink-soft);
  background: #f1eee5;
  border-radius: 8px;
  place-items: center;
}

.recent-main {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.recent-name {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 550;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recent-meta {
  display: flex;
  gap: 4px;
  align-items: center;
  color: var(--ink-faint);
  font-size: 10px;
}

.mini-lock {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  color: #6e7b70;
}

.recent-action {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.recent-action.danger:hover {
  color: var(--danger);
  background: #fbefec;
}

.skeleton-line {
  display: block;
  width: 58%;
  height: 12px;
  background: linear-gradient(90deg, #efebe0, #f8f5ed, #efebe0);
  background-size: 200% 100%;
  border-radius: 99px;
  animation: shimmer 1.4s infinite;
}

.window-footer {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  padding: 13px 0 14px;
  margin: 0 -26px;
  color: var(--ink-faint);
  font-size: 10px;
  text-align: center;
  background: rgba(248, 245, 236, 0.72);
  border-top: 1px solid var(--line);
}

.page-note {
  margin-top: 17px;
  color: rgba(78, 91, 82, 0.66);
  font-size: 10.5px;
  letter-spacing: 0.02em;
}

.success-note {
  margin: 5px 0 0;
  color: var(--ink-faint);
  font-size: clamp(8.5px, 2.75vw, 10.5px);
  line-height: 1.35;
  white-space: nowrap;
}

.success-panel {
  padding: 4px 0 2px;
  text-align: center;
  animation: rise 360ms ease both;
}

.success-icon {
  display: grid;
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  color: #fff;
  background: var(--leaf);
  border-radius: 20px;
  box-shadow: 0 12px 26px -12px rgba(16, 67, 51, 0.7);
  place-items: center;
}

.success-panel h1 {
  font-size: 31px;
}

.success-panel .muted {
  margin-top: 6px;
  font-size: 12.5px;
}

.link-box {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 7px 6px 7px 12px;
  margin-top: 20px;
  background: var(--card-soft);
  border: 1px solid var(--line-strong);
  border-radius: 12px;
}

.link-value {
  flex: 1;
  min-width: 0;
  color: var(--ink-soft);
  font-size: 11.5px;
  line-height: 1.55;
  overflow-wrap: anywhere;
  word-break: break-all;
  user-select: text;
}

.copy-button {
  width: 36px;
  height: 32px;
  color: var(--leaf);
  background: #e7efe7;
}

.copy-button:hover {
  background: #d9e8dc;
}

.result-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  justify-content: center;
  margin-top: 9px;
  color: var(--ink-faint);
  font-size: 10.5px;
}

.dot-sep {
  color: #c2b9a8;
}

.inline-lock {
  display: inline-flex;
  gap: 3px;
  align-items: center;
}

.hint-box {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 8px 10px;
  margin-top: 14px;
  color: #725d38;
  font-size: 10.5px;
  text-align: left;
  background: #faf3e3;
  border: 1px solid #eadfc5;
  border-radius: 9px;
}

.result-actions {
  display: flex;
  gap: 8px;
  margin-top: 20px;
}

.result-actions .btn {
  flex: 1;
}

.share-window {
  padding-bottom: 0;
}

.share-content {
  padding-bottom: 22px;
  animation: rise 300ms ease both;
}

.share-content h1 {
  font-size: 29px;
  overflow-wrap: anywhere;
}

.share-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 9px;
  color: var(--ink-faint);
  font-size: 11px;
}

.unlocked-badge {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 5px 8px;
  margin-top: 13px;
  color: #5b725f;
  font-size: 10px;
  background: var(--leaf-soft);
  border-radius: 7px;
}

.preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 17px;
}

.preview-grid.single {
  grid-template-columns: 1fr;
}

.preview-tile {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1.45;
  background: #ece8dc;
  border: 1px solid var(--line);
  border-radius: 13px;
}

.preview-grid.single .preview-tile {
  aspect-ratio: 1.95;
}

.preview-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 260ms ease;
}

.preview-tile:hover img {
  transform: scale(1.025);
}

.download-list {
  margin-top: 16px;
  overflow: hidden;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.download-list li {
  padding: 11px 12px;
}

.download-button {
  width: 33px;
  height: 33px;
  color: var(--leaf);
  background: #e8efe7;
}

.download-button:hover {
  color: #fff;
  background: var(--leaf);
}

.share-note {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
  color: var(--ink-faint);
  font-size: 10.5px;
}

.gate {
  padding: 9px 0 24px;
  text-align: center;
  animation: rise 300ms ease both;
}

.gate-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin: 0 auto 15px;
  color: #7a6545;
  background: #f5ecdc;
  border: 1px solid #e7dac2;
  border-radius: 17px;
  place-items: center;
}

.gate-icon.quiet {
  color: var(--ink-soft);
  background: #f0ede4;
  border-color: var(--line);
}

.gate h1 {
  font-size: 31px;
}

.gate .muted {
  max-width: 280px;
  margin: 7px auto 0;
  font-size: 12.5px;
}

.gate form {
  margin-top: 20px;
}

.gate input {
  width: 100%;
  height: 45px;
  padding: 0 13px;
  margin: 0 0 9px;
  font-size: 13px;
  text-align: center;
  background: var(--card-soft);
  border-color: var(--line-strong);
  border-radius: 11px;
}

.gate input:focus {
  background: #fffdf8;
}

.gate .btn {
  min-height: 45px;
}

.gate .error-box {
  text-align: left;
}

.gate-note {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
  color: var(--ink-faint);
  font-size: 10.5px;
}

.share-loading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  padding-bottom: 24px;
  color: var(--ink-faint);
  font-size: 12px;
}

.spinner {
  display: inline-flex;
  animation: spin 0.9s linear infinite;
}

.page-back {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  margin-top: 17px;
  color: rgba(78, 91, 82, 0.75);
  font-size: 10.5px;
}

.page-back:hover {
  color: var(--ink);
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
}

@keyframes shimmer {
  to {
    background-position: -200% 0;
  }
}

@media (max-width: 540px) {
  .shell {
    justify-content: flex-start;
    padding: 18px 12px 20px;
  }

  .window {
    padding: 20px 18px 0;
    border-radius: 23px;
  }

  .window-footer {
    margin: 0 -18px;
  }

  .intro h1,
  .success-panel h1,
  .gate h1 {
    font-size: 31px;
  }

  .intro-copy {
    font-size: 12.5px;
  }

  .result-actions {
    flex-direction: column;
  }

  .page-note {
    margin-top: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@font-face {
  font-family: "Inter";
  src: url("/s/Inter.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --font-ui: "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --field: #fffdf8;
  --hover: #efebe1;
  --dash: #d5cfbd;
  --tile: #ece8dc;
  --icon-bg: #edf2eb;
  --icon-border: #dde7dc;
  --copy-bg: #e7efe7;
  --copy-hover: #d9e8dc;
  --footer-bg: rgba(248, 245, 236, 0.72);
  --options-bg: rgba(250, 247, 239, 0.7);
  --hint-bg: #faf3e3;
  --hint-border: #eadfc5;
  --hint-ink: #725d38;
  --error-bg: #fbefec;
  --error-border: #efd5ce;
  --skeleton-a: #efebe0;
  --skeleton-b: #f8f5ed;
  --badge-ink: #5b725f;
  --dot: #c2b9a8;
  --focus-ring: rgba(28, 91, 69, 0.18);
  --radius: 14px;
  --radius-window: 24px;
  --pico-font-family: var(--font-ui);
  --pico-border-radius: var(--radius);
}

[data-theme="dark"] {
  color-scheme: dark;
  --ink: #edf3ec;
  --ink-soft: #a7b4a9;
  --ink-faint: #7e8c81;
  --paper: #0e1411;
  --card: #18221c;
  --card-soft: #141c17;
  --line: #29372e;
  --line-strong: #3b4c40;
  --leaf: #8ec9a5;
  --leaf-deep: #b4dfc1;
  --leaf-soft: #203228;
  --clay: #e3a17f;
  --danger: #ff9f94;
  --field: #121a15;
  --hover: #223027;
  --dash: #314239;
  --tile: #223028;
  --icon-bg: #203027;
  --icon-border: #2d4034;
  --copy-bg: #23372b;
  --copy-hover: #2d4637;
  --footer-bg: rgba(17, 24, 20, 0.78);
  --options-bg: rgba(17, 24, 20, 0.6);
  --hint-bg: #2a2415;
  --hint-border: #4a4027;
  --hint-ink: #e1c98e;
  --error-bg: #2b1715;
  --error-border: #4c2a25;
  --skeleton-a: #1d2a22;
  --skeleton-b: #26372c;
  --badge-ink: #a6c4ae;
  --dot: #5a6b5f;
  --focus-ring: rgba(142, 201, 165, 0.22);
  --shadow: 0 28px 70px -28px rgba(0, 0, 0, 0.78);
  --pico-background-color: var(--paper);
  --pico-color: var(--ink);
  --pico-h1-color: var(--ink);
  --pico-h2-color: var(--ink);
  --pico-muted-color: var(--ink-soft);
  --pico-form-element-background-color: var(--field);
  --pico-form-element-color: var(--ink);
  --pico-form-element-border-color: var(--line-strong);
  --pico-form-element-active-border-color: var(--leaf);
  --pico-form-element-focus-color: rgba(142, 201, 165, 0.22);
  --pico-primary: var(--leaf);
  --pico-primary-hover: var(--leaf-deep);
  --pico-primary-focus: rgba(142, 201, 165, 0.22);
}

body {
  font-family: var(--font-ui);
}

[data-theme="dark"] body {
  background:
    radial-gradient(circle at 18% 12%, rgba(38, 73, 54, 0.55), transparent 38%),
    radial-gradient(circle at 86% 84%, rgba(94, 66, 43, 0.45), transparent 42%),
    var(--paper);
}

[data-theme="dark"] body::before {
  background-image: radial-gradient(rgba(220, 240, 225, 0.09) 0.7px, transparent 0.7px);
}

.window {
  border-color: var(--line-strong);
  border-radius: var(--radius-window);
}

[data-theme="dark"] .window {
  background: color-mix(in srgb, var(--card) 94%, transparent);
}

.top-actions {
  display: flex;
  gap: 7px;
  align-items: center;
}

.brand-mark {
  width: 34px;
  height: 34px;
}

.brand-mark img {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 8px;
}

.brand-name {
  font-size: 15px;
  font-weight: 780;
  letter-spacing: 0.1em;
}

.secure-pill {
  color: var(--badge-ink);
  border-color: var(--line);
}

.theme-toggle {
  display: grid;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  color: var(--ink-soft);
  background: var(--field);
  border: 1px solid var(--line);
  border-radius: 10px;
  cursor: pointer;
  place-items: center;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
}

.theme-toggle:hover {
  color: var(--ink);
  background: var(--hover);
  border-color: var(--line-strong);
}

.btn {
  margin: 0;
  border-radius: var(--radius);
}

.btn-small {
  border-radius: var(--radius);
}

.btn-secondary:hover {
  background: var(--hover);
}

.btn-quiet:hover {
  background: var(--hover);
}

[data-theme="dark"] .btn-primary {
  color: #f7fbf7;
  background: #2d7a59;
  border-color: #2d7a59;
}

[data-theme="dark"] .btn-primary:hover {
  color: #fff;
  background: #358c67;
  border-color: #358c67;
}

.dropzone {
  border-radius: var(--radius);
}

.dropzone::before {
  border-color: var(--dash);
  border-radius: var(--radius);
}

[data-theme="dark"] .dropzone {
  background: var(--card-soft);
}

.drop-icon {
  color: var(--leaf);
  background: var(--icon-bg);
  border-color: var(--icon-border);
  border-radius: var(--radius);
}

[data-theme="dark"] .drop-icon {
  background: var(--icon-bg);
  border-color: var(--icon-border);
}

.drop-limit {
  margin-top: 10px;
  color: var(--ink-faint);
  font-size: 10px;
  letter-spacing: 0.01em;
}

.file-list {
  border-radius: var(--radius);
}

.file-list li,
.download-list li {
  border-color: var(--line);
}

.file-type {
  background: var(--icon-bg);
  border-color: var(--icon-border);
}

.options {
  background: var(--options-bg);
  border-radius: var(--radius);
}

.password-row:focus-within {
  background: transparent;
}

.password-field {
  display: flex;
  flex: 1;
  align-items: center;
  min-width: 0;
  height: 36px;
  padding: 0 5px 0 10px;
  background: var(--field);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.password-field:focus-within {
  border-color: var(--leaf);
  box-shadow: 0 0 0 3px var(--focus-ring);
}

.password-row input {
  flex: 1;
  width: 100%;
  height: 32px;
  padding: 0;
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  text-align: left;
  letter-spacing: 0.14em;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.password-row input::placeholder {
  color: var(--ink-faint);
  letter-spacing: 0;
}

.password-row input:focus,
.password-row input:focus-visible {
  box-shadow: none;
  outline: none;
}

.password-toggle {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  padding: 0;
  margin: 0;
  color: var(--ink-faint);
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  place-items: center;
}

.password-toggle:hover {
  color: var(--ink);
  background: var(--hover);
}

.option-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 10px 13px 12px;
  border-top: 1px solid var(--line);
}

.select-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.select-label {
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.select-field select {
  width: 100%;
  height: 36px;
  padding: 0 26px 0 9px;
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  background-color: var(--field);
  border-color: var(--line-strong);
  border-radius: var(--radius);
}

.select-field select:focus {
  border-color: var(--leaf);
  box-shadow: 0 0 0 3px var(--focus-ring);
}

[data-theme="dark"] .select-field select {
  color: var(--ink);
  background-color: var(--field);
  border-color: var(--line-strong);
}

.field-hint code {
  background: var(--hover);
}

.error-box {
  background: var(--error-bg);
  border-color: var(--error-border);
}

.progress-card {
  border-color: var(--line);
  border-radius: var(--radius);
}

.progress-card progress,
.progress-card progress::-webkit-progress-bar {
  background: var(--line);
}

.upload-chart {
  margin-top: 13px;
  padding: 11px 12px 7px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 11px;
}

.upload-chart-head,
.upload-chart-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--ink-faint);
  font-size: 10px;
}

.upload-chart-head > div {
  display: flex;
  gap: 7px;
  align-items: baseline;
}

.upload-chart-head strong {
  color: var(--ink);
  font-size: 12px;
}

.upload-chart svg {
  display: block;
  width: 100%;
  height: 86px;
  margin: 3px 0 1px;
  overflow: visible;
}

.upload-chart .grid {
  fill: none;
  stroke: var(--line);
  stroke-width: 1;
}

.upload-chart .speed-line {
  fill: none;
  stroke: var(--leaf);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.upload-chart .speed-projection {
  fill: none;
  stroke: var(--leaf);
  stroke-width: 1.5;
  stroke-dasharray: 4 4;
  opacity: 0.55;
}

.upload-chart .now-line {
  stroke: var(--ink-faint);
  stroke-width: 1;
  opacity: 0.35;
}

.upload-eta {
  color: var(--ink-faint);
}

.upload-eta.strong {
  color: var(--leaf-deep);
  font-weight: 700;
}

[data-theme="dark"] .progress-card progress {
  background: var(--line);
}

.remove-file,
.recent-action,
.download-button,
.copy-button,
.password-toggle,
.theme-toggle {
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}

.recent-action:hover,
.remove-file:hover {
  background: var(--hover);
}

.skeleton-line {
  background: linear-gradient(90deg, var(--skeleton-a), var(--skeleton-b), var(--skeleton-a));
  background-size: 200% 100%;
}

.window-footer {
  background: var(--footer-bg);
}

[data-theme="dark"] .success-icon {
  background: #2d7a59;
}

.link-box {
  border-radius: var(--radius);
}

.copy-button {
  width: 46px;
  height: 42px;
  color: var(--leaf);
  background: var(--copy-bg);
  border-radius: 10px;
}

.copy-button:hover {
  background: var(--copy-hover);
}

.result-actions .btn {
  flex: 1;
  height: 46px;
  min-height: 46px;
  margin: 0;
}

.dot-sep {
  color: var(--dot);
}

.hint-box {
  color: var(--hint-ink);
  background: var(--hint-bg);
  border-color: var(--hint-border);
  border-radius: var(--radius);
}

.share-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.share-badge {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 5px 8px;
  color: var(--badge-ink);
  font-size: 10px;
  background: var(--leaf-soft);
  border-radius: 8px;
}

.limit-note,
.limit-box {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 8px 10px;
  margin-top: 12px;
  color: var(--badge-ink);
  font-size: 10.5px;
  background: var(--leaf-soft);
  border-radius: var(--radius);
}

.limit-box {
  color: var(--danger);
  background: var(--error-bg);
  border: 1px solid var(--error-border);
}

.zip-button {
  width: 100%;
  margin-top: 13px;
}

.zip-button.disabled,
.download-button.disabled {
  opacity: 0.45;
  pointer-events: none;
}

.preview-tile {
  background: var(--tile);
  border-radius: var(--radius);
}

.download-list {
  border-radius: var(--radius);
}

.download-button {
  background: var(--icon-bg);
  border-radius: 10px;
}

[data-theme="dark"] .download-button:hover {
  color: #fff;
  background: #2d7a59;
}

.gate-icon {
  border-radius: var(--radius);
}

[data-theme="dark"] .gate-icon {
  color: #e3c18a;
  background: #2b2619;
  border-color: #4b412b;
}

[data-theme="dark"] .gate-icon.quiet {
  color: var(--ink-soft);
  background: var(--card-soft);
  border-color: var(--line);
}

.gate-password {
  position: relative;
}

.gate-password input {
  width: 100%;
  height: 46px;
  padding: 0 44px 0 13px;
  color: var(--ink);
  font-size: 14px;
  text-align: left;
  letter-spacing: 0.16em;
  background: var(--field);
  border-color: var(--line-strong);
  border-radius: var(--radius);
}

.gate-password input::placeholder {
  color: var(--ink-faint);
  letter-spacing: 0;
}

.gate-password input:focus {
  background: var(--field);
  border-color: var(--leaf);
}

.gate-password input:focus,
.gate-password input:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px var(--focus-ring) !important;
}

.gate-password .password-toggle {
  position: absolute;
  top: 50%;
  right: 7px;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
}

.gate .error-box {
  border-radius: var(--radius);
}

[data-theme="dark"] .page-note,
[data-theme="dark"] .page-back {
  color: var(--ink-faint);
}

.confirm-dialog {
  width: min(360px, calc(100vw - 36px));
  padding: 24px;
  color: var(--ink);
  text-align: center;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  outline: 0;
  box-shadow: var(--shadow);
}

dialog.confirm-dialog[open] {
  display: block;
  width: min(360px, calc(100vw - 36px));
  min-width: 0;
  max-width: calc(100vw - 36px);
  height: fit-content;
  min-height: 0;
  max-height: calc(100vh - 36px);
  overflow: auto;
  animation: dialog-in 160ms ease-out;
}

.confirm-dialog::backdrop {
  background: rgba(18, 32, 24, 0.42);
  backdrop-filter: blur(2px);
}

.confirm-icon {
  display: grid;
  width: 44px;
  height: 44px;
  margin: 0 auto 13px;
  color: var(--danger);
  background: var(--error-bg);
  border: 1px solid var(--error-border);
  border-radius: 12px;
  place-items: center;
}

.confirm-dialog h2 {
  margin: 0 0 7px;
  font-size: 21px;
  letter-spacing: -0.03em;
}

.confirm-dialog p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 12.5px;
  line-height: 1.5;
}

.confirm-dialog .error-box {
  margin-top: 12px;
  text-align: left;
}

.confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 18px;
}

.confirm-actions .btn {
  width: 100%;
  height: 42px;
  margin: 0;
}

.btn-danger {
  color: #fff;
  background: #a63e34;
  border-color: #a63e34;
}

.btn-danger:hover {
  color: #fff;
  background: #8f322a;
  border-color: #8f322a;
}

@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(5px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

[data-theme="dark"] .recent-icon {
  background: var(--card-soft);
}

[data-theme="dark"] .switch-row input[role="switch"] {
  background-color: #34463a;
}

[data-theme="dark"] .section-head > span {
  background: var(--hover);
}

@media (max-width: 540px) {
  .option-grid {
    gap: 7px;
    padding-right: 10px;
    padding-left: 10px;
  }

  .select-field select {
    padding-left: 7px;
    font-size: 11px;
  }

  .brand-name {
    font-size: 14px;
  }

  .top-actions {
    gap: 5px;
  }

  .secure-pill {
    padding-right: 7px;
    padding-left: 7px;
    font-size: 9.5px;
  }
}

.admin-shell {
  display: grid;
  min-height: 100vh;
  padding: 28px 18px;
  place-items: center;
}

.admin-window {
  z-index: 1;
  width: min(1080px, calc(100vw - 36px));
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.admin-topbar {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.admin-pill {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 5px 9px;
  color: var(--leaf-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--leaf-soft);
  border-radius: 999px;
}

.admin-back {
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 600;
}

.admin-tabs {
  display: flex;
  gap: 4px;
  padding: 0 24px;
  border-bottom: 1px solid var(--line);
}

.admin-tabs button,
.admin-toggle button,
.admin-orders button {
  padding: 11px 12px;
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 650;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  cursor: pointer;
}

.admin-tabs button.active,
.admin-toggle button.active,
.admin-orders button.active {
  color: var(--leaf-deep);
  border-bottom-color: var(--leaf);
}

.admin-section {
  padding: 24px;
}

.admin-heading {
  display: flex;
  gap: 14px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 18px;
}

.admin-heading h1 {
  margin: 3px 0 0;
  font-size: 26px;
  line-height: 1.05;
}

.admin-updated {
  color: var(--ink-faint);
  font-size: 10.5px;
}

.admin-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.admin-card {
  padding: 13px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-card span {
  display: block;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-card strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  font-size: 19px;
  letter-spacing: -0.03em;
}

.storage-line {
  margin-top: 13px;
  padding: 12px 14px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.storage-line > div:first-child {
  display: flex;
  justify-content: space-between;
  color: var(--ink-soft);
  font-size: 11px;
}

.storage-line strong {
  color: var(--ink);
}

.storage-bar {
  height: 7px;
  margin: 8px 0 5px;
  overflow: hidden;
  background: var(--line);
  border-radius: 99px;
}

.storage-bar span {
  display: block;
  height: 100%;
  background: var(--leaf);
  border-radius: inherit;
}

.storage-line small {
  color: var(--ink-faint);
  font-size: 10px;
}

.chart-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 13px;
}

.line-chart {
  min-width: 0;
  padding: 12px 13px 8px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.line-chart-head,
.line-chart-foot {
  display: flex;
  justify-content: space-between;
  color: var(--ink-faint);
  font-size: 10px;
}

.line-chart-head strong {
  color: var(--ink);
  font-size: 11px;
}

.line-chart svg {
  display: block;
  width: 100%;
  height: 86px;
  margin: 4px 0 2px;
  overflow: visible;
}

.line-chart .grid {
  fill: none;
  stroke: var(--line);
  stroke-width: 1;
}

.line-chart .area {
  fill: var(--chart-color);
  opacity: 0.1;
}

.line-chart .line {
  fill: none;
  stroke: var(--chart-color);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.admin-toggle {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.admin-toggle button {
  padding: 6px 9px;
  border: 0;
  border-radius: 7px;
}

.admin-toggle button.active {
  color: var(--ink);
  background: var(--card);
  border: 0;
  box-shadow: 0 1px 3px rgba(23, 33, 27, 0.08);
}

.admin-orders {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  width: fit-content;
  margin-bottom: 11px;
}

.admin-orders button {
  padding: 6px 9px;
  border: 0;
  border-radius: 7px;
}

.admin-orders button.active {
  color: var(--ink);
  background: var(--card);
  border: 0;
}

.admin-table-wrap {
  overflow-x: auto;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 11px;
}

.admin-table th {
  padding: 9px 10px;
  color: var(--ink-faint);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}

.admin-table td {
  padding: 9px 10px;
  color: var(--ink-soft);
  white-space: nowrap;
  border-bottom: 1px solid var(--line);
}

.admin-table tr:last-child td {
  border-bottom: 0;
}

.admin-table code {
  color: var(--ink);
  font-size: 10px;
}

.admin-table .blocked {
  color: var(--danger);
  font-weight: 700;
}

.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.admin-row-actions button {
  padding: 4px 7px;
  color: var(--ink-soft);
  font-size: 9.5px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
}

.admin-row-actions button:hover {
  color: var(--danger);
  border-color: var(--error-border);
}

.admin-form {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  padding: 13px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-form label {
  margin: 0;
  color: var(--ink-faint);
  font-size: 9.5px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.admin-form input,
.admin-form select {
  height: 34px;
  margin-top: 4px;
  padding: 0 8px;
  font-size: 11px;
  border-radius: 8px;
}

.admin-form .btn {
  align-self: end;
  grid-column: span 2;
  height: 34px;
  min-height: 34px;
  font-size: 11px;
}

.admin-form-inline {
  grid-template-columns: 96px minmax(180px, 1.5fr) 96px 110px 96px 96px 1fr;
  align-items: end;
  margin: 10px 0;
}

.admin-form-inline .btn {
  grid-column: auto;
  width: 100%;
}

.admin-check {
  display: flex !important;
  gap: 5px;
  align-items: center;
  height: 34px;
  color: var(--ink-soft) !important;
  text-transform: none !important;
}

.admin-check input {
  width: 15px;
  height: 15px;
  min-height: 15px;
  margin: 0;
  padding: 0;
}

.admin-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 22px 0 8px;
}

.admin-subhead h2 {
  margin: 0;
  font-size: 17px;
}

.admin-notice {
  margin: 10px 0 0;
  color: var(--leaf-deep);
  font-size: 11px;
}

.admin-empty {
  padding: 24px;
  color: var(--ink-faint);
  text-align: center;
}

.admin-error {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  color: var(--danger);
}

.admin-error p {
  margin: 0;
}

@media (max-width: 800px) {
  .admin-shell {
    padding: 12px;
  }

  .admin-window {
    width: 100%;
  }

  .admin-section {
    padding: 18px 14px;
  }

  .admin-tabs {
    padding: 0 12px;
  }

  .admin-cards,
  .chart-grid {
    grid-template-columns: 1fr 1fr;
  }

  .admin-form,
  .admin-form-inline {
    grid-template-columns: 1fr 1fr;
  }

  .admin-form .btn {
    grid-column: span 2;
  }

  .admin-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-table {
    min-width: 680px;
  }
}

/* compact upload surface */
.window {
  width: min(100%, 448px);
  padding: 20px 22px 0;
}

.topbar {
  margin-bottom: 18px;
}

.intro {
  margin-bottom: 16px;
}

.intro h1,
.success-panel h1 {
  font-size: clamp(28px, 7vw, 33px);
  letter-spacing: -1.4px;
}

.intro-copy {
  max-width: 330px;
  margin-top: 9px;
  font-size: 12.5px;
}

.dropzone {
  padding: 17px 14px 15px;
}

.dropzone.has-files {
  padding: 13px 14px;
}

.drop-icon {
  width: 38px;
  height: 38px;
  margin-bottom: 8px;
}

.drop-title {
  font-size: 13px;
}

.drop-copy {
  font-size: 11.5px;
}

.pick-row {
  margin-top: 11px;
}

.drop-limit {
  margin-top: 9px;
  font-size: 10px;
}

.btn {
  min-height: 38px;
  padding: 0 14px;
  font-size: 12.5px;
}

.btn-small {
  min-height: 31px;
  padding: 0 10px;
  font-size: 11.5px;
}

.file-list {
  margin-top: 10px;
}

.file-list ul {
  max-height: 150px;
}

.file-list li {
  padding: 4px 10px;
}

.file-more {
  width: 100%;
  padding: 8px 10px;
  color: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 600;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  cursor: pointer;
}

.file-more:hover {
  color: var(--leaf);
  background: var(--leaf-soft);
}

.options {
  margin-top: 11px;
}

label.switch-row,
.password-row {
  min-height: 43px;
  padding: 7px 12px;
}

.option-title {
  font-size: 12px;
}

.option-note {
  font-size: 10px;
}

.password-row input {
  height: 24px;
  font-size: 12px;
}

.field-hint {
  padding: 0 12px 9px;
  font-size: 10px;
}

.option-grid {
  padding: 9px 12px 11px;
  gap: 8px;
}

.select-label {
  font-size: 9.5px;
}

option-grid select,
.option-grid select {
  min-height: 34px;
  padding: 0 8px;
  font-size: 12px;
}

.switch-block {
  border-bottom: 1px solid var(--line);
}

.switch-block .switch-row {
  border-bottom: 0;
}

.option-hint {
  display: flex;
  gap: 5px;
  align-items: flex-start;
  padding: 0 12px 9px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 10px;
  line-height: 1.4;
}

.option-hint svg {
  flex: 0 0 auto;
  margin-top: 1px;
}

.option-hint.info {
  color: #4d6b5a;
}

.email-block {
  border-top: 1px solid var(--line);
}

.email-block .switch-row {
  border-bottom: 0;
}

.email-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 12px 11px;
}

.email-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: var(--ink-faint);
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.email-grid input,
.email-grid textarea {
  min-height: 33px;
  padding: 7px 9px;
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 9px;
  box-shadow: none;
}

.email-grid textarea {
  min-height: 58px;
  resize: vertical;
}

.email-grid .email-note {
  grid-column: 1 / -1;
}

.error-box {
  margin-top: 10px;
}

.upload-button-wrap {
  display: block;
  margin-top: 18px;
}

.btn-upload {
  min-height: 43px;
  margin-top: 0;
  font-size: 12.5px;
}

.upload-stage {
  padding: 2px 0 4px;
}

.upload-stage h1 {
  color: var(--ink);
  font-size: 27px;
  font-weight: 650;
  letter-spacing: -1.1px;
}

.upload-stage .muted {
  margin-top: 6px;
  font-size: 12px;
}

.upload-stage .progress-card {
  margin-top: 16px;
}

.success-chart {
  padding: 10px 10px 6px;
  margin: 14px 0 0;
  text-align: left;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 13px;
}

.success-chart-head {
  display: flex;
  justify-content: space-between;
  padding: 0 2px 2px;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.success-chart .upload-chart {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}

.success-icon {
  width: 46px;
  height: 46px;
  margin-bottom: 11px;
}

.success-panel .result-actions {
  margin-top: 13px;
}

.recents {
  padding: 15px 0 16px;
  margin-top: 18px;
}

.window-footer {
  gap: 6px;
  padding: 11px 8px 12px;
  margin: 0 -22px;
  line-height: 1.45;
}

.window-footer span {
  max-width: 390px;
}

.auth-pill,
.auth-link,
.auth-logout {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  max-width: 128px;
  padding: 4px 7px;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
}

.auth-logout {
  width: 32px;
  justify-content: center;
  padding: 0;
  color: var(--ink-faint);
  background: transparent;
  border-color: transparent;
  cursor: pointer;
}

.auth-pill {
  min-width: 28px;
  justify-content: center;
  padding: 0 6px;
  font-weight: 750;
  letter-spacing: 0.02em;
}

.auth-link {
  width: 32px;
  justify-content: center;
  padding: 0;
  color: var(--leaf);
  border-color: #d3e3d7;
}

.auth-link:hover,
.auth-logout:hover {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
}

.drop-overlay {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  padding: 24px;
  background: rgba(20, 36, 28, 0.32);
  backdrop-filter: blur(3px);
  pointer-events: none;
  place-items: center;
}

.drop-overlay-card {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: center;
  max-width: 340px;
  padding: 22px 26px;
  color: var(--ink);
  text-align: center;
  background: var(--card);
  border: 1px dashed var(--leaf);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.drop-overlay-card svg {
  margin-bottom: 3px;
  color: var(--leaf);
}

.drop-overlay-card strong {
  font-size: 14px;
}

.drop-overlay-card span {
  color: var(--ink-soft);
  font-size: 11px;
}

@media (max-width: 540px) {
  .window {
    width: 100%;
    padding: 16px 15px 0;
  }

  .top-actions {
    gap: 4px;
  }

  .auth-pill,
  .auth-link {
    max-width: 82px;
    font-size: 9px;
  }

  .secure-pill {
    display: none;
  }

  .option-grid,
  .email-grid {
    grid-template-columns: 1fr;
  }

  .email-grid .email-note {
    grid-column: auto;
  }

  .window-footer {
    margin: 0 -15px;
  }
}

.brand-mark,
.brand-mark svg {
  width: 34px;
  height: 34px;
}

.brand-mark {
  --logo-tile: #1c5b45;
}

[data-theme="dark"] .brand-mark {
  --logo-tile: #0a2e22;
  --penguin-body: #f4f7f2;
  --penguin-belly: #cfe0d4;
  --penguin-eye: #0a1f17;
}

[data-theme="dark"] .brand-tagline {
  color: #c6d4c9;
}

.brand-tagline {
  color: var(--ink-soft);
}

.penguin-logo {
  display: block;
  overflow: visible;
}

.gate-missing {
  padding-top: 4px;
}

.gate-missing .penguin-empty {
  display: block;
  margin: 0 auto 6px;
}

.user-ips {
  display: inline-block;
  max-width: 190px;
  overflow: hidden;
  color: var(--ink-soft);
  text-overflow: ellipsis;
  vertical-align: bottom;
}

.admin-table small {
  color: var(--ink-faint);
  font-size: 9.5px;
}

.not-found {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2px 0 22px;
  text-align: center;
  animation: rise 360ms ease both;
}

.not-found .penguin-empty {
  display: block;
  margin: 0 auto 2px;
}

.not-found h1 {
  color: var(--ink);
  font-size: clamp(28px, 7vw, 33px);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -1.4px;
}

.not-found .muted {
  max-width: 340px;
  margin: 9px auto 16px;
  font-size: 12.5px;
}

.not-found .btn {
  width: 100%;
}

.admin-topbar {
  padding: 18px 22px 14px;
  margin-bottom: 0;
}

.admin-topbar .brand {
  min-width: 0;
}

.admin-topbar .top-actions {
  flex: 0 0 auto;
}

@media (max-width: 800px) {
  .admin-topbar {
    padding: 14px 14px 12px;
  }
}

.line-chart-head > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.line-chart-head strong {
  flex: 0 0 auto;
  white-space: nowrap;
}

.line-chart .plot {
  height: auto;
  min-height: 120px;
}

.line-chart svg {
  height: auto;
}

.upload-empty-hint {
  margin-top: 7px;
  color: var(--ink-faint);
  font-size: 10px;
  text-align: center;
}

.admin-range-row {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.admin-range-row > span {
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.admin-range {
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.admin-range button {
  padding: 4px 7px;
  color: var(--ink-faint);
  font-size: 9.5px;
  font-weight: 650;
  background: transparent;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
}

.admin-range button:hover,
.admin-range button.active {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
}

@media (max-width: 800px) {
  .admin-range-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-range {
    width: 100%;
    overflow-x: auto;
  }
}

.password-field,
.email-grid input,
.select-field select {
  height: 36px;
  min-height: 36px;
}

.password-row input {
  height: 34px;
}

.email-grid input {
  padding-top: 0;
  padding-bottom: 0;
}

.switch-row input[role="switch"]:checked {
  background-color: #158a5b;
  border-color: #158a5b;
  box-shadow: 0 0 0 3px rgba(21, 138, 91, 0.2), 0 0 14px rgba(21, 138, 91, 0.4);
}

.switch-row input[role="switch"]:checked::after {
  background-color: #fffdf8;
}

.app-shell {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding: 18px 20px;
}

.app-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: min(100%, 540px);
  max-height: 70svh;
}

.app-stack.with-files {
  width: min(100%, 1000px);
}

.app-topbar {
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 18px;
}

.app-topbar .brand {
  min-width: 0;
}

.app-topbar .brand-name {
  font-size: 16px;
}

.brand-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.1;
}

.brand-tagline {
  margin-top: 2px;
  color: var(--ink-soft);
  font-size: 9.5px;
  font-weight: 500;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.app-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
}

.files-toggle {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 29px;
  padding: 0 9px;
  color: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 650;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
}

.files-toggle .files-count {
  display: inline-grid;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  color: var(--leaf-deep);
  font-size: 9px;
  background: var(--leaf-soft);
  border-radius: 999px;
  place-items: center;
}

.files-toggle:hover:not(:disabled) {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
  border-color: #c8ddcd;
}

.files-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.app-body {
  display: flex;
  flex: 1 1 auto;
  gap: 14px;
  align-items: flex-start;
  justify-content: center;
  min-height: 0;
}

.upload-window {
  display: flex;
  flex-direction: column;
  width: min(100%, 520px);
  max-height: calc(70svh - 49px);
  padding-top: 14px;
  margin: 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

.upload-window .dropzone,
.upload-window .options,
.upload-window .upload-button-wrap,
.upload-window .window-footer {
  flex: 0 0 auto;
}

.upload-window .file-list {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  min-height: 56px;
}

.upload-window .file-list-head {
  flex: 0 0 auto;
}

.upload-window .file-tree {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}

.upload-window .intro {
  margin-bottom: 11px;
}

.upload-window .intro h1 {
  font-size: clamp(27px, 4.2vw, 31px);
}

.upload-window .intro-copy {
  margin-top: 6px;
}

.upload-window .dropzone {
  padding: 6px 14px 7px 64px;
}

.dropzone {
  position: relative;
}

.drop-lead {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
}

.drop-copy-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
}

.upload-window .drop-icon {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: grid;
  width: 52px;
  height: auto;
  margin: 0;
  background: var(--icon-bg);
  border-right: 1px solid var(--icon-border);
  border-radius: var(--radius) 0 0 var(--radius);
  place-items: center;
}

.upload-window .pick-row {
  margin-top: 6px;
}

.upload-window .drop-limit {
  margin-top: 7px;
}

.upload-window .options {
  margin-top: 7px;
}

.upload-window label.switch-row,
.upload-window .password-row {
  min-height: 34px;
  padding: 3px 12px;
}

.upload-window .option-grid {
  padding: 4px 12px 6px;
  gap: 5px;
}

.upload-window .select-field select {
  height: 32px;
  min-height: 32px;
}

.upload-window .upload-button-wrap {
  margin-top: 12px;
  margin-bottom: 10px;
}

.upload-window .window-footer {
  padding: 6px 6px 7px;
  font-size: 9.5px;
}

.file-list-head {
  padding: 6px 10px 5px;
  font-size: 9.5px;
}

.file-list .tree-folder,
.file-list .tree-file {
  min-height: 27px;
}

.file-list .tree-toggle {
  min-height: 18px;
  padding: 1px 10px 1px calc(8px + var(--tree-depth, 0) * 14px);
}

.file-list .tree-file {
  padding: 0 10px 0 calc(10px + var(--tree-depth, 0) * 14px);
}

.tree-name,
.tree-file .file-name {
  font-size: 10.5px;
  line-height: 1.1;
}

.tree-folder .file-type,
.tree-file .file-type {
  width: 18px;
  height: 18px;
}

.upload-window .window-footer {
  margin-bottom: 0;
}

.files-window {
  display: flex;
  flex-direction: column;
  width: min(100%, 330px);
  max-height: calc(70svh - 49px);
  padding: 15px 15px 12px;
  margin: 0;
  overflow: hidden;
}

.files-window-head {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.files-window-head .eyebrow {
  margin-bottom: 3px;
}

.files-window-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 19px;
  letter-spacing: -0.5px;
}

.files-close {
  display: grid;
  width: 26px;
  height: 26px;
  padding: 0;
  color: var(--ink-faint);
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  place-items: center;
}

.files-close:hover {
  color: var(--ink);
  background: var(--hover);
}

.files-list {
  flex: 1 1 auto;
  min-height: 0;
  padding: 2px 0 0;
  margin: 0;
  overflow-y: auto;
  list-style: none;
}

.files-list li {
  padding: 9px 2px;
  border-bottom: 1px solid var(--line);
}

.files-list li:last-child {
  border-bottom: 0;
}

.files-list .recent-name {
  font-size: 12px;
}

.files-list .recent-meta {
  font-size: 10px;
}

.files-list .recent-icon {
  width: 27px;
  height: 27px;
}

.files-list .recent-action {
  width: 24px;
  height: 24px;
}

.app-stack .page-note {
  flex: 0 0 auto;
  margin: 0;
  font-size: 9.5px;
  line-height: 1.2;
  text-align: center;
}

@media (max-width: 760px) {
  .app-shell {
    justify-content: flex-start;
    padding: 12px;
  }

  .app-stack {
    width: 100%;
    max-height: none;
  }

  .app-body {
    flex-direction: column;
    align-items: stretch;
    max-height: none;
  }

  .upload-window,
  .files-window {
    width: 100%;
    max-height: none;
  }

  .app-topbar {
    min-height: 36px;
  }

  .secure-pill {
    display: inline-flex;
    padding: 3px 5px;
    font-size: 8.5px;
  }

  .app-actions {
    gap: 4px;
  }

  .files-toggle {
    max-width: 118px;
    overflow: hidden;
    white-space: nowrap;
  }

  .app-stack .page-note {
    margin-top: 2px;
  }
}

.upload-window .dropzone {
  margin-top: 0;
}



.file-list .file-tree {
  padding: 0;
  margin: 0;
  list-style: none;
  max-height: 238px;
  overflow-y: auto;
  scrollbar-width: thin;
}

.file-list .tree-folder,
.file-list .tree-file {
  display: flex;
  content-visibility: auto;
  contain-intrinsic-size: auto 34px;
  align-items: center;
  min-height: 34px;
  margin: 0;
  border-bottom: 1px solid rgba(229, 224, 211, 0.7);
}

.file-list .tree-folder {
  padding: 0;
}

.file-list .tree-file {
  gap: 8px;
  padding: 4px 10px 4px calc(10px + var(--tree-depth, 0) * 14px);
}

.tree-toggle {
  display: flex;
  flex: 1;
  gap: 7px;
  align-items: center;
  min-width: 0;
  min-height: 34px;
  padding: 4px 10px 4px calc(8px + var(--tree-depth, 0) * 14px);
  color: var(--ink);
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.tree-toggle:hover {
  background: var(--leaf-soft);
}

.tree-chevron {
  display: inline-grid;
  flex: 0 0 auto;
  width: 10px;
  color: var(--ink-faint);
  font-size: 16px;
  line-height: 1;
  transition: transform 120ms ease;
  place-items: center;
}

.tree-chevron.open {
  transform: rotate(90deg);
}

.tree-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  font-size: 12px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tree-folder .file-type {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
}

.tree-file .file-type {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
}

.file-list .tree-file .file-info {
  display: flex;
  flex: 1;
  min-width: 0;
}

.tree-file .file-name {
  font-size: 12px;
}

.tree-file .file-size {
  flex: 0 0 auto;
}

.tree-branch {
  flex: 0 0 8px;
  width: 8px;
  height: 14px;
  border-left: 1px solid var(--line-strong);
  border-bottom: 1px solid var(--line-strong);
  border-bottom-left-radius: 4px;
  opacity: 0.7;
}

.file-list .tree-folder:last-child,
.file-list .tree-file:last-child {
  border-bottom: 0;
}

.upload-window .upload-button-wrap {
  margin-bottom: 10px;
}

.file-list .tree-folder .file-size {
  margin-left: auto;
  padding-right: 10px;
  font-weight: 500;
}

/* final tree density overrides */
.upload-window .file-tree {
  max-height: none;
}

.file-list .tree-folder,
.file-list .tree-file {
  content-visibility: auto;
  contain-intrinsic-size: auto 18px;
  min-height: 18px;
  line-height: 1.1;
}

.file-list .tree-toggle {
  min-height: 18px;
  padding: 0 10px 0 calc(8px + var(--tree-depth, 0) * 14px);
}

.file-list .tree-file {
  padding: 0 10px 0 calc(10px + var(--tree-depth, 0) * 14px);
}

.tree-name,
.tree-file .file-name {
  font-size: 10.5px;
  line-height: 1.1;
}

.tree-folder .file-type,
.tree-file .file-type {
  width: 18px;
  height: 18px;
}

.tree-chevron {
  width: 8px;
  font-size: 14px;
}

.tree-folder .file-size,
.tree-file .file-size {
  font-size: 9.5px;
}


.tree-file .remove-file {
  width: 16px;
  height: 16px;
}

@media (min-height: 1000px) {
  .upload-window .file-tree {
    min-height: 250px;
  }
}

.file-list .tree-folder,
.file-list .tree-file {
  min-height: 17px;
}

.file-list .tree-toggle {
  min-height: 17px;
}

.tree-folder .file-type,
.tree-file .file-type {
  width: 16px;
  height: 16px;
}

/* tree interaction and dark border fixes */
.file-list .tree-folder,
.file-list .tree-file {
  content-visibility: visible;
  contain-intrinsic-size: none;
  min-height: 17px;
  border-bottom-color: var(--line);
}

.tree-actions {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.tree-actions button {
  padding: 1px 6px;
  color: var(--ink-soft);
  font-size: 9px;
  font-weight: 600;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 5px;
  cursor: pointer;
}

.tree-actions button:hover {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
  border-color: var(--line-strong);
}

.tree-toggle,
.tree-actions button,
.tree-file .remove-file {
  margin: 0;
}

.upload-chart .axis-speed {
  fill: var(--ink-faint);
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.upload-chart .axis-line {
  stroke: var(--line-strong);
  stroke-width: 1;
}

.app-actions button,
.app-actions a,
.files-toggle {
  margin: 0;
}


.upload-window .file-tree {
  flex: 0 1 auto;
  height: min(250px, calc(var(--tree-rows, 0) * 18px));
  min-height: 0;
  max-height: none;
}

.upload-window .option-grid .select-trigger {
  height: 32px;
  font-size: 11.5px;
}


.upload-window .options {
  overflow: visible;
}

.upload-window:has(.select-menu) {
  overflow: visible;
}

.select-wrap {
  position: relative;
  display: block;
}

.select-field select {
  width: 100%;
  height: 32px;
  min-height: 32px;
  padding: 0 32px 0 10px;
  margin: 0;
  color: var(--ink);
  font-size: 11.5px;
  background-color: var(--field);
  background-image: none;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.select-field select:hover {
  border-color: var(--leaf);
}

.select-field select:focus {
  outline: none;
  border-color: var(--leaf);
  box-shadow: 0 0 0 3px var(--focus-ring);
}

.select-chevron {
  position: absolute;
  top: 50%;
  right: 9px;
  display: grid;
  color: var(--ink-soft);
  pointer-events: none;
  transform: translateY(-50%);
  place-items: center;
}

.select-field select:disabled + .select-chevron {
  opacity: 0.55;
}

.choice-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  align-items: center;
}

.choice {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 29px;
  padding: 0 4px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  background: var(--field);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease, color 120ms ease;
}

.choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.choice:hover {
  color: var(--leaf);
  border-color: var(--leaf);
}

.choice.active {
  color: #fffdf8;
  background: var(--leaf);
  border-color: var(--leaf);
  box-shadow: 0 6px 14px -10px rgba(16, 67, 51, 0.8);
}

.choice:has(input:focus-visible) {
  outline: 2px solid var(--leaf);
  outline-offset: 2px;
}

.choice:has(input:disabled) {
  cursor: not-allowed;
  opacity: 0.5;
}

[data-theme="dark"] .choice.active {
  color: #0e1411;
  background: var(--leaf);
  border-color: var(--leaf);
}


.choice-grid {
  flex-wrap: nowrap;
  gap: 0;
}

.choice {
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

.choice:first-child {
  border-left: 1px solid var(--line-strong);
  border-radius: 8px 0 0 8px;
}

.choice:last-child {
  border-radius: 0 8px 8px 0;
}

.choice.active {
  border-radius: 0;
  box-shadow: none;
}

.choice:first-child.active {
  border-radius: 8px 0 0 8px;
}

.choice:last-child.active {
  border-radius: 0 8px 8px 0;
}

.option-grid .select-label {
  width: 100%;
  text-align: center;
}

.option-grid .choice-grid {
  justify-content: center;
}

.choice:first-child:hover,
.choice:first-child.active {
  border-left-color: var(--leaf);
}

/* narrower main window */
.app-stack {
  width: min(100%, 380px);
}

.app-stack.with-files {
  width: min(100%, 720px);
}

.upload-window {
  width: min(100%, 360px);
}

.upload-window .option-grid {
  grid-template-columns: 1fr;
}

@media (max-width: 760px) {
  .app-stack,
  .upload-window {
    width: 100%;
  }
}


.app-topbar:has(.files-toggle) {
  gap: 8px;
  padding: 0 10px;
}

.app-topbar:has(.files-toggle) .secure-label {
  display: none;
}

.nowrap-line {
  white-space: nowrap;
}

/* keep validity and downloads side by side in the narrow window */
.upload-window .option-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upload-window .option-grid .choice-grid {
  flex-wrap: nowrap;
  gap: 1px;
}

.upload-window .option-grid .choice {
  min-width: 20px;
  padding: 0 2px;
  font-size: 9.5px;
}

.upload-window .file-tree {
  height: min(250px, calc(var(--tree-rows, 0) * 18px + 10px));
  padding: 5px 0;
}

.upload-window .file-tree {
  height: auto;
  max-height: min(250px, calc(var(--tree-rows, 0) * 18px + 10px));
}

/* keep the app anchored when expanding toggles */
.app-shell {
  justify-content: flex-start;
  padding-top: max(24px, 20svh);
}

@media (max-width: 760px) {
  .app-shell {
    justify-content: flex-start;
    padding: 12px;
  }
}


/* room for the expanded e-mail form without an inner scrollbar */
.app-shell {
  padding-top: max(16px, 14svh);
}

.upload-window {
  padding-right: 12px;
  padding-left: 12px;
}

.upload-window .window-footer {
  margin-right: -12px;
  margin-left: -12px;
}

.upload-window .options {
  margin-top: 0;
}

.upload-window .dropzone {
  padding: 4px 10px 5px 64px;
}

.upload-window .option-grid {
  padding: 4px 10px 6px;
}

.app-stack:has(#send-email:checked) {
  max-height: none;
}

.upload-window:has(#send-email:checked) {
  max-height: calc(100svh - max(16px, 14svh) - 60px);
}

/* equal row separators and remove the extra header padding above the first row */
.file-list-head {
  padding-bottom: 0;
}

.file-list .tree-folder,
.file-list .tree-file {
  border-bottom: 0;
  box-shadow: inset 0 -1px var(--line);
}

.file-list .tree-folder:last-child,
.file-list .tree-file:last-child {
  box-shadow: none;
}

.upload-window .file-list + .options {
  margin-top: -1px;
}

.share-file-list {
  margin-top: 12px;
}

.share-file-list .file-tree {
  max-height: 300px;
  padding: 5px 0;
}

.share-file-list .tree-file {
  gap: 7px;
}

.share-file-list .tree-file .download-button {
  width: 22px;
  height: 22px;
  border-radius: 7px;
}

.share-file-list .tree-file .file-size {
  font-size: 9.5px;
}

.share-content h1 {
  font-size: 15px;
  line-height: 1.25;
  letter-spacing: -0.2px;
}

.preview-grid {
  grid-template-columns: repeat(var(--preview-cols, 4), minmax(0, 1fr));
  gap: 6px;
  margin-top: 12px;
}

.preview-grid.single {
  grid-template-columns: minmax(0, 1fr);
}

.preview-grid.single .preview-tile {
  aspect-ratio: 1.95;
}

.share-file-list .tree-file {
  min-height: 22px;
}

.share-file-list .tree-file .download-button {
  width: 20px;
  height: 18px;
  border-radius: 6px;
}

/* admin layout and control consistency */
.admin-shell {
  place-items: start center;
  padding: 24px 18px 40px;
}

.admin-window button {
  margin: 0;
}

.admin-tabs {
  justify-content: flex-start;
  overflow-x: auto;
  scrollbar-width: none;
}

.admin-tabs::-webkit-scrollbar {
  display: none;
}

.admin-tabs button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 10px;
  font-size: 11.5px;
  white-space: nowrap;
}

.admin-toggle button,
.admin-orders button {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 9px;
  margin: 0;
  font-size: 10.5px;
}

.admin-orders button {
  min-height: 28px;
}

.admin-range-row {
  gap: 8px;
}

.admin-range-row > span {
  white-space: nowrap;
}

.admin-range {
  flex: 0 0 auto;
  max-width: 100%;
  overflow-x: auto;
}

.admin-range button {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 8px;
  margin: 0;
  font-size: 10px;
}

.admin-row-actions {
  gap: 5px;
}

.admin-row-actions button {
  min-height: 26px;
  padding: 0 7px;
  margin: 0;
  white-space: nowrap;
}

.admin-form .btn {
  grid-column: auto;
  justify-self: start;
  width: 170px;
  min-height: 34px;
  height: 34px;
}

.admin-form-inline .btn {
  width: 100%;
}

.admin-form select {
  padding-right: 28px;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);
  background-position: calc(100% - 13px) 14px, calc(100% - 8px) 14px;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  appearance: none;
}

.line-chart {
  padding: 10px 12px 6px;
}

.line-chart .plot {
  height: 120px;
  min-height: 120px;
}

@media (max-width: 800px) {
  .admin-shell {
    padding: 12px;
  }

  .admin-tabs button {
    min-height: 36px;
    padding: 0 8px;
    font-size: 10.5px;
  }

  .admin-heading {
    gap: 8px;
    margin-bottom: 14px;
  }

  .chart-grid {
    grid-template-columns: 1fr;
  }

  .line-chart .plot {
    height: 112px;
    min-height: 112px;
  }

  .admin-form .btn {
    grid-column: span 2;
    justify-self: stretch;
    width: 100%;
  }

  .admin-table-wrap {
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
  }

  .admin-table {
    display: block;
    min-width: 0;
  }

  .admin-table thead {
    display: none;
  }

  .admin-table tbody {
    display: grid;
    gap: 8px;
  }

  .admin-table tr {
    display: block;
    padding: 8px 10px;
    background: var(--card-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
  }

  .admin-table td {
    position: relative;
    display: block;
    padding: 4px 0 4px 108px;
    border: 0;
    overflow-wrap: anywhere;
    text-align: right;
    white-space: normal;
  }

  .admin-table td::before {
    position: absolute;
    top: 4px;
    left: 0;
    color: var(--ink-faint);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    content: attr(data-label);
  }

  .admin-table td.admin-row-actions-cell {
    display: block;
    padding: 8px 0 0;
    margin-top: 6px;
    border-top: 1px solid var(--line);
    text-align: right;
  }

  .admin-table td.admin-row-actions-cell::before,
  .admin-table td[colspan]::before {
    display: none;
  }

  .admin-table td[colspan] {
    padding: 14px 0;
    text-align: center;
  }

  .admin-table td br {
    display: block;
  }

  .admin-table td small {
    display: inline-block;
    margin-top: 2px;
  }
}

/* final admin alignment polish */
.admin-shell {
  padding-bottom: 18px;
}

.admin-heading-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;
}

.admin-table th.admin-actions-cell {
  text-align: right;
}

.admin-table td.admin-row-actions-cell {
  text-align: right;
}

@media (max-width: 800px) {
  .admin-heading-actions {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
}


.admin-row-actions button.positive:hover {
  color: var(--leaf-deep);
  border-color: var(--leaf);
}

/* overview range alignment */
.admin-range-row {
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

.admin-range-row > span {
  display: flex;
  align-items: center;
  min-height: 32px;
}

.admin-range {
  flex: 0 1 auto;
  width: max-content;
  max-width: 100%;
  margin: 0;
}

@media (max-width: 800px) {
  .admin-range-row {
    align-items: flex-start;
  }

  .admin-range {
    width: max-content;
    max-width: 100%;
  }
}

/* keep limit forms inside their card at all widths */
.admin-form label,
.admin-form input,
.admin-form select {
  min-width: 0;
}

.admin-form input,
.admin-form select {
  width: 100%;
}

@media (max-width: 800px) {
  .admin-form-inline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-form-inline .btn {
    grid-column: span 2;
    width: 100%;
  }
}

.admin-link-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-end;
  padding: 11px 12px;
  margin-bottom: 12px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.admin-link-form label {
  flex: 1 1 260px;
  min-width: 0;
  margin: 0;
  color: var(--ink-faint);
  font-size: 9.5px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.admin-link-form input {
  width: 100%;
  height: 34px;
  margin-top: 4px;
  padding: 0 8px;
  font-size: 11px;
  border-radius: 8px;
}

.admin-link-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.admin-link-actions button {
  min-height: 34px;
  padding: 0 10px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 650;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
}

.admin-link-actions button:hover:not(:disabled) {
  color: var(--leaf-deep);
  border-color: var(--leaf);
}

.admin-link-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

@media (max-width: 800px) {
  .admin-link-form label {
    flex-basis: 100%;
  }

  .admin-link-actions {
    width: 100%;
  }

  .admin-link-actions button {
    flex: 1 1 auto;
  }
}

/* admin search, pagination and limit editor */
.admin-search-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 10px;
}

.admin-search-row input {
  flex: 1 1 260px;
  min-width: 0;
  height: 34px;
  margin: 0;
  padding: 0 9px;
  font-size: 11px;
  border-radius: 8px;
}

.admin-search-row button,
.admin-pager button {
  min-height: 34px;
  padding: 0 10px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 10.5px;
  font-weight: 650;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
}

.admin-search-row button:hover:not(:disabled),
.admin-pager button:hover:not(:disabled) {
  color: var(--leaf-deep);
  border-color: var(--leaf);
}

.admin-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 10px;
}

.admin-pager span {
  margin-right: auto;
  color: var(--ink-faint);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.admin-pager button:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}

.admin-subhead {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: flex-end;
  justify-content: space-between;
  margin: 24px 0 10px;
}

.admin-subhead h2 {
  margin: 0;
  font-size: 17px;
}

.admin-subhead p {
  margin: 3px 0 0;
  color: var(--ink-faint);
  font-size: 10.5px;
}

.admin-subhead > span {
  color: var(--ink-faint);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.limit-editor {
  padding: 14px;
  margin: 0 0 12px;
  background: var(--card-soft);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.limit-editor-head h3 {
  margin: 0;
  font-size: 13px;
}

.limit-editor-head p {
  margin: 3px 0 10px;
  color: var(--ink-faint);
  font-size: 10px;
}

.limit-editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px 12px;
  align-items: end;
}

.limit-editor-grid label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  color: var(--ink-faint);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.limit-editor-grid input,
.limit-editor-grid select {
  width: 100%;
  min-width: 0;
  height: 34px;
  margin: 0;
  padding: 0 8px;
  font-size: 11px;
  border-radius: 8px;
}

.limit-editor-grid .admin-check {
  flex-direction: row;
  gap: 6px;
  align-items: center;
  min-height: 34px;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 550;
  letter-spacing: 0;
  text-transform: none;
}

.limit-editor-grid .admin-check input {
  width: 15px;
  height: 15px;
  margin: 0;
}

.limit-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding-top: 11px;
  margin-top: 11px;
  border-top: 1px solid var(--line);
}

.limit-editor-actions span {
  color: var(--ink-faint);
  font-size: 9.5px;
}

.limit-editor-actions .btn {
  width: auto;
  min-width: 170px;
  margin: 0;
}

@media (max-width: 900px) {
  .limit-editor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .limit-note-field {
    grid-column: span 2;
  }
}

@media (max-width: 560px) {
  .limit-editor-grid {
    grid-template-columns: 1fr;
  }

  .limit-note-field {
    grid-column: auto;
  }

  .limit-editor-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .admin-pager {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .admin-pager span {
    flex: 1;
    min-width: 0;
    margin-right: 0;
    font-size: 9.5px;
    text-align: center;
  }

  .admin-pager button {
    padding: 0 8px;
    font-size: 10px;
  }
}

.limit-editor-submit {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.limit-editor-submit .admin-check {
  margin: 0;
  color: var(--ink-soft);
  font-size: 10px;
  font-weight: 550;
  letter-spacing: 0;
  text-transform: none;
}

.limit-editor-submit .admin-check input {
  width: 15px;
  height: 15px;
  margin: 0;
}

@media (max-width: 560px) {
  .limit-editor-submit {
    width: 100%;
  }

  .limit-editor-submit .btn {
    flex: 1 1 100%;
  }
}

.admin-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  display: flex;
  gap: 12px;
  align-items: center;
  max-width: min(420px, calc(100vw - 32px));
  padding: 11px 12px 11px 14px;
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 600;
  background: var(--card);
  border: 1px solid var(--leaf);
  border-radius: 10px;
  box-shadow: 0 12px 35px rgba(20, 40, 30, 0.18);
}

.admin-toast span {
  min-width: 0;
}

.admin-toast button {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  min-height: 0;
  padding: 0;
  margin: 0;
  color: var(--ink-faint);
  font-size: 18px;
  line-height: 1;
  background: transparent;
  border: 0;
  border-radius: 5px;
  cursor: pointer;
}

.admin-toast button:hover {
  color: var(--ink);
  background: var(--card-soft);
}

@media (max-width: 560px) {
  .admin-toast {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-width: none;
  }
}


.files-window {
  width: min(100%, 360px);
}

/* files list: name above the action icons */
.files-list li {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) 24px 24px;
  grid-template-areas:
    "name name name name"
    "icon meta copy trash";
  gap: 4px 7px;
  align-items: center;
}

.files-list .recent-name {
  grid-area: name;
  min-width: 0;
  white-space: nowrap;
}

.files-list .recent-icon {
  grid-area: icon;
}

.files-list .recent-meta {
  grid-area: meta;
  min-width: 0;
  flex-wrap: wrap;
}

.files-list .files-copy {
  grid-area: copy;
}

.files-list .files-remove {
  grid-area: trash;
}

.files-list {
  max-height: none;
}

/* file icon at the left, filename starts next to it; extra-file count stays visible */
.files-list li {
  grid-template-columns: 30px minmax(0, 1fr) 24px 24px;
  grid-template-areas:
    "icon name name name"
    "icon meta copy trash";
  column-gap: 8px;
  row-gap: 3px;
}

.files-list .recent-icon {
  grid-area: icon;
  width: 30px;
  height: 30px;
  align-self: center;
  border-radius: 9px;
}

.files-list .files-share-name {
  grid-area: name;
  display: flex;
  gap: 4px;
  align-items: baseline;
  min-width: 0;
  font-size: 11px;
}

.files-share-file {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.files-share-more {
  flex: 0 0 auto;
  color: var(--ink-soft);
  font-size: 9.5px;
  font-weight: 550;
  white-space: nowrap;
}

.files-list li.renamable {
  grid-template-columns: 30px minmax(0, 1fr) 24px 24px 24px;
  grid-template-areas:
    "icon name name name name"
    "icon meta rename copy trash";
}

.files-list .files-rename {
  grid-area: rename;
}

.rename-dialog {
  text-align: left;
}

.rename-dialog .confirm-icon {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
  border-color: #c8ddcd;
}

.rename-field {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 14px;
  color: var(--ink-faint);
  font-size: 9.5px;
  font-weight: 650;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.rename-field input {
  width: 100%;
  height: 38px;
  margin: 0;
  padding: 0 10px;
  color: var(--ink);
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 8px;
}

.rename-hint {
  margin-top: 6px !important;
  color: var(--ink-faint) !important;
  font-size: 9.5px !important;
  text-align: left;
}

.rename-dialog .confirm-actions {
  grid-template-columns: 1fr 1.2fr;
}

.upload-chart .axis-speed {
  font-size: 18px;
}

.upload-chart .speed-dot {
  fill: var(--leaf);
  stroke: var(--card);
  stroke-width: 1.5;
}

.upload-chart .speed-pulse {
  fill: none;
  stroke: var(--leaf);
  stroke-width: 1.4;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: uploadPulse 1.4s ease-out infinite;
}

@keyframes uploadPulse {
  0% {
    opacity: 0.6;
    transform: scale(0.7);
  }
  100% {
    opacity: 0;
    transform: scale(2.4);
  }
}

.upload-chart .axis-speed {
  font-size: 24px;
}

.admin-stats-note {
  margin: 7px 0 0;
  color: var(--ink-faint);
  font-size: 10px;
}

/* HOLUB animated SVG scenes */
.holub-scene {
  -webkit-user-drag: none;
  user-select: none;
  display: block;
  max-width: 100%;
  height: auto;
  overflow: visible;
}

.brand-mark {
  width: 34px;
  height: 34px;
}

.brand-mark .holub-scene {
  width: 34px;
  height: 34px;
}

.idle-scene {
  margin: 2px auto 14px;
}

.upload-scene {
  margin: 0 auto 4px;
}

.success-scene {
  margin: 0 auto 10px;
}

.share-delivered-scene {
  margin: 0 auto 12px;
}

.share-missing-scene,
.not-found-scene {
  margin: 0 auto 10px;
}

@media (max-width: 560px) {
  .idle-scene,
  .success-scene,
  .share-delivered-scene {
    width: 104px;
  }
}

.brand-logo {
  display: block;
  -webkit-user-drag: none;
  user-select: none;
  width: 34px;
  height: 34px;
  flex: none;
}

.drop-icon-holub {
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.drop-icon-holub .drop-scene {
  width: 46px;
  height: 46px;
}

.dropzone .drop-icon-holub {
  width: 52px;
  height: 46px;
  min-height: 46px;
  align-self: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.admin-storage-danger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, #b94b4b 35%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, #b94b4b 5%, var(--card));
}

.admin-storage-danger strong,
.admin-storage-danger span {
  display: block;
}

.admin-storage-danger strong {
  color: var(--ink);
  font-size: 12px;
}

.admin-storage-danger span {
  margin-top: 3px;
  max-width: 58ch;
  color: var(--ink-faint);
  font-size: 10.5px;
  line-height: 1.45;
}

.admin-storage-danger .btn {
  flex: none;
}

.admin-wipe-box {
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, #b94b4b 45%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, #b94b4b 8%, var(--card));
}

.admin-wipe-box p {
  margin: 0 0 9px;
  color: var(--ink-soft);
  font-size: 12px;
}

.admin-wipe-controls {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.admin-wipe-controls input {
  flex: 1;
  min-width: 150px;
  margin: 0;
}

@media (max-width: 620px) {
  .admin-storage-danger {
    align-items: flex-start;
    flex-direction: column;
  }
}

.holub-scene {
  height: auto;
}

.dropzone .drop-icon-holub {
  width: 75px;
  height: 120px;
  min-height: 120px;
}

.drop-icon-holub .drop-scene {
  width: 75px;
  height: 120px;
}

.upload-scene,
.success-scene,
.share-delivered-scene,
.share-missing-scene,
.not-found-scene {
  width: 320px;
  max-width: 100%;
  height: auto;
}


.upload-window .dropzone {
  min-height: 158px;
}

.upload-window .drop-icon-holub {
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 4px;
  display: grid;
  place-items: center;
  width: 75px;
  height: 120px;
  min-height: 120px;
  transform: translateY(-50%);
}

.upload-window .drop-copy-block {
  transform: translateX(10px);
}

@media (max-width: 560px) {
  .upload-window .drop-copy-block {
    transform: none;
  }
}

/* The application card grows with its content; only file lists scroll. */
.app-stack {
  max-height: none;
}

.upload-window {
  max-height: none;
  overflow: visible;
}

.upload-window:has(#send-email:checked) {
  max-height: none;
}

/* Compact file/folder buttons aligned with the left animation. */
.upload-window .pick-row {
  flex: 0 0 auto;
  align-items: center;
}

.upload-window .pick-row .btn {
  height: 31px;
  min-height: 31px;
  padding: 0 10px;
}

/* Uniform sharp-edged visual language across the whole UI. */
*,
*::before,
*::after {
  border-radius: 0 !important;
}

/* Share arrival caption beneath the delivered pigeon. */
.share-content h1.share-arrival {
  width: min(100%, 320px);
  margin: -1px auto 12px;
  padding: 0;
  color: var(--ink);
  background: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  overflow-wrap: anywhere;
}

.share-arrival span {
  color: var(--leaf-deep);
  font-weight: 750;
}

/* Compact drop area: the 120px scene defines the height, with no dead space below it. */
.upload-window .dropzone {
  min-height: 134px;
}

/* More breathing room around the values in the validity/download choosers. */
.upload-window .option-grid .choice {
  min-width: 24px;
  height: 30px;
  padding: 0 5px;
  font-size: 10px;
}

/* Prefer fitting the main app into the viewport; only file lists scroll.
   If the e-mail form is expanded, allow the page to grow naturally. */
.app-shell {
  justify-content: center;
  padding: 12px 20px;
}

.app-stack {
  max-height: calc(100svh - 40px);
}

.app-body {
  min-height: 0;
}

.upload-window {
  max-height: calc(100svh - 92px);
  overflow: hidden;
}

.upload-window .file-tree {
  max-height: min(190px, calc(var(--tree-rows, 0) * 18px + 10px));
}

.files-window {
  max-height: calc(100svh - 92px);
}

.files-window .recent-list {
  max-height: 190px;
}

.app-stack:has(#send-email:checked) {
  max-height: none;
}

.app-stack:has(#send-email:checked) .upload-window {
  max-height: none;
  overflow: visible;
}

@media (max-width: 760px) {
  .app-shell {
    justify-content: flex-start;
    padding: 10px;
  }

  .app-stack {
    max-height: calc(100svh - 30px);
  }

  .upload-window,
  .files-window {
    max-height: calc(100svh - 82px);
  }
}

/* Transient warning for the memorable-link switch; fixed so it adds no layout height. */
.app-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  max-width: min(380px, calc(100vw - 32px));
  padding: 12px 14px;
  color: #fffdf8;
  background: var(--leaf-deep);
  border: 1px solid var(--leaf-deep);
  box-shadow: 0 14px 36px -20px rgba(16, 67, 51, 0.8);
  font-size: 11.5px;
  line-height: 1.45;
}

.app-toast svg {
  flex: 0 0 auto;
  margin-top: 1px;
}

[data-theme="dark"] .app-toast {
  color: #f7fbf7;
  background: #2d7a59;
  border-color: #358c67;
}

@media (max-width: 560px) {
  .app-toast {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-width: none;
  }
}

/* One shared app footer for both the upload view and Moje soubory. */
.app-footer {
  display: flex;
  flex: 0 0 auto;
  gap: 6px;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 8px 11px;
  color: var(--ink-faint);
  background: var(--footer-bg);
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

.app-footer svg {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .app-footer {
    padding: 9px 7px 10px;
    font-size: 9.5px;
  }
}

/* Account for the shared footer in the height budget. */
.upload-window,
.files-window {
  max-height: calc(100svh - 128px);
}

@media (max-width: 760px) {
  .upload-window,
  .files-window {
    max-height: calc(100svh - 118px);
  }
}

/* Keep the files window the same width as the upload window and shared footer. */
.files-window {
  width: min(100%, 380px);
}

/* Both app windows use the same width as the shared footer. */
.upload-window,
.files-window {
  width: min(100%, 380px);
}

/* All controls sharing a topbar row have the same height. */
.app-actions > *,
.top-actions > * {
  height: 32px;
  min-height: 32px;
}

.app-actions .files-toggle {
  height: 32px;
}

/* Clickable security footer and its explanation dialog. */
.security-footer-button {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
}

.security-footer-button:hover {
  color: var(--leaf-deep);
  text-decoration: underline;
  text-underline-offset: 3px;
}

[data-theme="dark"] .security-footer-button:hover {
  color: var(--ink);
}

.security-dialog {
  width: min(620px, calc(100vw - 28px));
  max-height: min(88svh, 820px);
  padding: 0;
  overflow: auto;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line-strong);
  box-shadow: 0 28px 80px -36px rgba(11, 32, 24, 0.55);
}

.security-dialog::backdrop {
  background: rgba(13, 28, 21, 0.48);
  backdrop-filter: blur(3px);
}

.security-panel {
  position: relative;
  padding: 26px 26px 24px;
}

.security-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  width: 30px;
  height: 30px;
  min-height: 0;
  padding: 0;
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  place-items: center;
}

.security-close:hover {
  color: var(--ink);
  background: var(--hover);
}

.security-panel h2 {
  margin: 2px 0 0;
  font-size: clamp(24px, 4vw, 30px);
  line-height: 1.1;
  letter-spacing: -0.8px;
}

.security-lead {
  margin: 10px 0 0;
  color: var(--ink-soft);
  font-size: 12.5px;
  line-height: 1.55;
}

.security-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.security-facts h3,
.security-standards-title {
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 750;
}

.security-facts p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.5;
}

.security-standards-title {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.security-standards {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 16px;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.45;
}

.security-standards strong {
  color: var(--ink);
}

.security-note {
  margin: 17px 0 0;
  padding: 10px 12px;
  color: var(--ink-soft);
  background: var(--card-soft);
  border-left: 3px solid var(--leaf);
  font-size: 10.5px;
  line-height: 1.5;
}

@media (max-width: 560px) {
  .security-panel {
    padding: 22px 18px 18px;
  }

  .security-facts {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Override Pico's full-width dialog defaults for the security modal. */
dialog.security-dialog[open] {
  display: block;
  position: fixed;
  inset: 0;
  width: min(620px, calc(100vw - 28px));
  min-width: 0;
  max-width: calc(100vw - 28px);
  height: fit-content;
  min-height: 0;
  max-height: min(88svh, 820px);
  margin: auto;
  padding: 0;
  overflow: auto;
}

.security-panel {
  text-align: left;
}

.security-standards {
  list-style: disc;
}

.security-close:focus,
.security-close:focus-visible {
  outline: 2px solid var(--leaf);
  outline-offset: 2px;
  box-shadow: none;
}

.security-footer-button:focus-visible {
  outline: 2px solid var(--leaf);
  outline-offset: 3px;
}

/* Center the security dialog explicitly, independent of browser zoom/Pico defaults. */
dialog.security-dialog[open] {
  inset: auto;
  top: 50%;
  left: 50%;
  margin: 0;
  transform: translate(-50%, -50%);
}

/* On narrow/zoomed layouts the column body must center the upload/files window. */
@media (max-width: 760px) {
  .app-body {
    align-items: center;
  }
}

/* Pico adds a default bottom margin to buttons; the footer button must sit flush. */
.security-footer-button {
  margin: 0;
  min-height: 0;
}

/* Center the one-file list header and remove the empty min-height below a single row. */
.file-list-head {
  padding: 6px 10px;
}

.upload-window .file-list {
  min-height: 0;
}

/* Center the content of a single share row between the separators. */
.files-list {
  padding: 0;
}

.files-list li {
  align-content: center;
}

.upload-chart .seal-line {
  stroke: var(--leaf);
  stroke-width: 4;
  stroke-linecap: butt;
}

.upload-chart-legend {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 3px 0 0;
  color: var(--ink-faint);
  font-size: 9.5px;
}

.upload-chart-legend span {
  display: inline-flex;
  gap: 4px;
  align-items: center;
}

.upload-chart-legend i {
  display: inline-block;
  width: 12px;
  height: 2px;
}

.upload-chart-legend .legend-net {
  background: var(--leaf);
}

.upload-chart-legend .legend-enc {
  background: #b9674a;
}

.upload-chart .encryption-line {
  fill: none;
  stroke: #b9674a;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* no longer used */
.upload-chart .seal-line {
  display: none;
}

.upload-chart-legend .legend-store {
  background: #587b9a;
}

.upload-chart .storage-line {
  fill: none;
  stroke: #587b9a;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}


/* Local authentication dialog */
.auth-backdrop {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(12, 28, 19, 0.46);
  backdrop-filter: blur(5px);
}

dialog.auth-panel[open] {
  display: block;
  position: relative;
  inset: auto;
  width: min(390px, calc(100vw - 40px));
  min-width: 0;
  max-width: calc(100vw - 40px);
  height: fit-content;
  min-height: 0;
  max-height: calc(100vh - 40px);
  margin: 0;
  text-align: left;
}

.auth-panel {
  position: relative;
  width: min(100%, 390px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 26px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 3px;
  box-shadow: 0 22px 70px rgba(10, 25, 16, 0.25);
}

.auth-close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  padding: 0;
  color: var(--ink-faint);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
}

.auth-close:hover { color: var(--ink); background: var(--field); }

.auth-brand { padding-right: 24px; }
.auth-mark {
  display: inline-grid;
  width: 36px;
  height: 36px;
  margin-bottom: 14px;
  place-items: center;
  color: var(--leaf);
  background: var(--leaf-soft);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.auth-brand h2 { margin: 0 0 8px; font-size: 24px; letter-spacing: -0.04em; }
.auth-lead { margin: 0 0 18px; color: var(--ink-soft); font-size: 12.5px; line-height: 1.55; }

.auth-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
  padding: 2px;
  background: var(--field);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.auth-tabs button {
  flex: 1;
  padding: 6px 10px;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 650;
  background: transparent;
  border: 0;
  border-radius: 2px;
  cursor: pointer;
}
.auth-tabs button.active { color: var(--ink); background: var(--card); box-shadow: 0 1px 0 var(--line); }

.auth-form { display: grid; gap: 8px; }
.auth-form label { display: grid; gap: 4px; margin: 0; color: var(--ink-soft); font-size: 10.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.auth-form input {
  width: 100%;
  height: 38px;
  min-height: 38px;
  margin: 0;
  padding: 8px 10px;
  color: var(--ink);
  font-size: 13px;
  background: var(--field);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.auth-form input:focus { outline: 2px solid var(--leaf-soft); border-color: var(--leaf); }
.auth-submit { width: 100%; margin-top: 4px; justify-content: center; }
.auth-error, .auth-notice { margin: 0; padding: 9px 10px; color: #8b2e25; font-size: 12px; line-height: 1.45; background: #fff1ee; border: 1px solid #f1c9c2; border-radius: 3px; }
.auth-notice { color: var(--ink-soft); background: var(--field); border-color: var(--line); }
.auth-divider { display: flex; gap: 10px; align-items: center; margin: 18px 0 12px; color: var(--ink-faint); font-size: 10px; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { flex: 1; height: 1px; content: ''; background: var(--line); }
.auth-oidc { display: flex; gap: 7px; align-items: center; justify-content: center; width: 100%; padding: 9px; color: var(--leaf-deep); font-size: 12px; font-weight: 650; border: 1px solid var(--line); border-radius: 3px; }
.auth-oidc:hover { background: var(--leaf-soft); }
.auth-switch { margin: 16px 0 0; color: var(--ink-soft); font-size: 12px; text-align: center; }
.auth-switch button { padding: 0; color: var(--leaf-deep); font: inherit; font-weight: 700; background: transparent; border: 0; cursor: pointer; }
.auth-pill.unverified { color: #98651d; border-color: #e8d2a8; background: #fff8e8; }
.auth-banner { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 8px 18px; color: #765317; font-size: 11.5px; background: #fff8e8; border-bottom: 1px solid #ead7af; }
.auth-banner span { display: inline-flex; gap: 6px; align-items: center; }
.auth-banner button { padding: 5px 8px; color: #765317; font: inherit; font-size: 11px; font-weight: 700; background: transparent; border: 1px solid #d7bc86; border-radius: 2px; cursor: pointer; }
.auth-banner button:disabled { opacity: .55; cursor: wait; }
.auth-banner-ok { color: var(--leaf-deep); background: var(--leaf-soft); border-color: var(--line); }
@media (max-width: 560px) {
  .auth-panel { padding: 22px 18px; }
  .auth-banner { align-items: flex-start; flex-direction: column; gap: 5px; }
}


/* Compact utility controls: smaller buttons, icons keep their drawn size. */
.app-actions .auth-link,
.app-actions .auth-pill,
.app-actions .auth-logout,
.app-actions .secure-pill,
.app-actions .theme-toggle,
.top-actions .auth-link,
.top-actions .auth-pill,
.top-actions .auth-logout,
.top-actions .secure-pill,
.top-actions .theme-toggle {
  width: 24px;
  height: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  justify-content: center;
  align-items: center;
  gap: 0;
  border-radius: 999px;
}

.app-actions .auth-pill,
.top-actions .auth-pill {
  padding: 0 4px;
  font-size: 9px;
  line-height: 1;
}

.app-actions .auth-link svg,
.app-actions .auth-logout svg,
.app-actions .secure-pill svg,
.app-actions .theme-toggle svg,
.top-actions .auth-link svg,
.top-actions .auth-logout svg,
.top-actions .secure-pill svg,
.top-actions .theme-toggle svg {
  display: block;
  flex: 0 0 auto;
}


/* Plain HTTP is an explicit security warning, not a decorative badge. */
.secure-pill.insecure,
.admin-pill.insecure {
  color: #fff;
  background: #b42318;
  border-color: #8f1d14;
  animation: holub-insecure-pulse 1.35s ease-in-out infinite;
}

.secure-pill.insecure svg,
.admin-pill.insecure svg {
  color: #fff;
}

[data-theme="dark"] .secure-pill.insecure,
[data-theme="dark"] .admin-pill.insecure {
  color: #fff;
  background: #c62f22;
  border-color: #e05a4c;
}

@keyframes holub-insecure-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(198, 47, 34, 0.62), 0 0 0 1px rgba(198, 47, 34, 0.35);
  }
  50% {
    box-shadow: 0 0 0 5px rgba(198, 47, 34, 0), 0 0 14px 2px rgba(198, 47, 34, 0.72);
  }
}

@media (prefers-reduced-motion: reduce) {
  .secure-pill.insecure,
  .admin-pill.insecure {
    animation: none;
    box-shadow: 0 0 0 2px rgba(198, 47, 34, 0.35);
  }
}


/* Admin uses a blue information palette, separate from the green public UI. */
.admin-shell {
  --leaf: #2f6fb0;
  --leaf-deep: #1d4f86;
  --leaf-soft: #e8f2fb;
  --badge-ink: #315b82;
}

[data-theme="dark"] .admin-shell {
  --leaf: #74b4ee;
  --leaf-deep: #9bc9f2;
  --leaf-soft: #142a3d;
  --badge-ink: #b9dcf5;
}

.admin-shell .ambient-one {
  background: radial-gradient(circle, rgba(55, 130, 195, 0.28), transparent 68%);
}

.admin-shell .ambient-two {
  background: radial-gradient(circle, rgba(38, 92, 145, 0.2), transparent 70%);
}

.admin-shell .admin-window {
  border-color: #cfdeed;
}

.admin-shell .admin-topbar {
  border-bottom-color: #d7e5f1;
}

.admin-shell .admin-pill {
  color: #1d5a91;
  background: #e8f2fb;
  border: 1px solid #cfe2f3;
}

.admin-shell .admin-tabs {
  border-bottom-color: #d7e5f1;
  background: linear-gradient(180deg, #f7fbff, transparent);
}

.admin-shell .admin-tabs button.active,
.admin-shell .admin-toggle button.active,
.admin-shell .admin-orders button.active {
  color: #1d4f86;
  border-bottom-color: #2f6fb0;
}

.admin-shell .admin-form,
.admin-shell .limit-editor {
  background: #f5f9fd;
  border-color: #d7e5f1;
}

.admin-shell .admin-subhead,
.admin-shell .admin-heading {
  border-color: #d7e5f1;
}

.admin-back {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  padding: 0;
  color: var(--ink-soft);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.admin-back:hover {
  color: var(--leaf-deep);
  background: var(--leaf-soft);
  border-color: #b9d5eb;
}

.admin-back svg {
  display: block;
}

.admin-form-actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  padding-top: 2px;
}

.admin-form-actions .btn {
  min-width: 150px;
}

.admin-form .admin-check {
  grid-column: span 2;
  min-width: 0;
  height: 32px;
}

.admin-form .admin-check input[type="checkbox"],
.admin-check input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  flex: 0 0 16px;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 800px) {
  .admin-form .admin-check {
    grid-column: 1 / -1;
  }

  .admin-form-actions {
    justify-content: stretch;
  }

  .admin-form-actions .btn {
    width: 100%;
  }
}


.admin-filter-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 8px 10px;
  color: #1d4f86;
  font-size: 11px;
  background: #e8f2fb;
  border: 1px solid #cfe2f3;
  border-radius: 8px;
}

.admin-filter-chip button {
  padding: 3px 7px;
  color: #1d4f86;
  font: inherit;
  font-size: 10.5px;
  background: transparent;
  border: 1px solid #b9d5eb;
  border-radius: 5px;
  cursor: pointer;
}

.admin-row-actions .danger {
  color: #a3261c;
  border-color: #e8c0bb;
}

.storage-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.btn-small {
  min-height: 26px;
  padding: 4px 9px;
  font-size: 10.5px;
}

.admin-storage-danger {
  display: none;
}


.brand.brand-active .brand-logo {
  transform-origin: 50% 70%;
  animation: holub-logo-deform 4.8s ease-in-out infinite;
}

@keyframes holub-logo-deform {
  0%, 72%, 100% { transform: translateY(0) rotate(0deg) scale(1, 1); }
  78% { transform: translateY(-1px) rotate(-3deg) scale(0.92, 1.08); }
  84% { transform: translateY(1px) rotate(3deg) scale(1.06, 0.94); }
  90% { transform: translateY(0) rotate(-1deg) scale(0.97, 1.03); }
}

@media (prefers-reduced-motion: reduce) {
  .brand.brand-active .brand-logo { animation: none; }
}


.alert-health-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 16px;
}

.alert-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.alert-panel {
  min-width: 0;
  padding: 13px;
  background: #f7fbff;
  border: 1px solid #d7e5f1;
  border-radius: 10px;
}

.alert-panel .admin-subhead {
  margin-top: 0;
}

.alert-list {
  display: grid;
  gap: 7px;
  max-height: 370px;
  overflow: auto;
}

.alert-row {
  display: grid;
  gap: 3px;
  padding: 8px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 7px;
}

.alert-row div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.alert-row span,
.alert-row small {
  color: var(--ink-faint);
  font-size: 10.5px;
}

.alert-tags,
.alert-log {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}

.alert-tags code,
.alert-log code {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.alert-log {
  flex-direction: column;
  max-height: 260px;
  overflow: auto;
}

.alert-log code {
  color: var(--ink-soft);
  font-size: 9.5px;
}

@media (max-width: 800px) {
  .alert-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alert-columns { grid-template-columns: 1fr; }
}


.storage-targets {
  display: grid;
  gap: 5px;
  margin-top: 7px;
}

.storage-target {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 8px;
  background: #f7fbff;
  border: 1px solid #d7e5f1;
  border-radius: 6px;
  font-size: 10px;
}

.storage-target div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
}

.storage-target strong {
  color: #1d4f86;
  font-size: 10px;
}

.storage-target small {
  overflow: hidden;
  color: var(--ink-faint);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.storage-target span {
  flex: none;
  color: var(--ink-soft);
  font-variant-numeric: tabular-nums;
}

  .line-chart-head.svelte-1bybxa9 {
    gap: 6px;
  }

  .chart-head-main.svelte-1bybxa9 {
    display: flex;
    flex: 1 1 auto;
    gap: 8px;
    align-items: baseline;
    min-width: 0;
  }

  .chart-head-main.svelte-1bybxa9 > span:where(.svelte-1bybxa9) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .chart-head-main.svelte-1bybxa9 strong:where(.svelte-1bybxa9) {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .chart-zoom.svelte-1bybxa9 {
    display: inline-flex;
    flex: 0 0 auto;
    width: max-content;
    margin: 0;
    gap: 2px;
  }

  .chart-zoom.svelte-1bybxa9 button:where(.svelte-1bybxa9) {
    display: inline-grid;
    flex: 0 0 auto;
    width: auto;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    margin: 0;
    color: var(--ink-faint);
    font: inherit;
    font-size: 10.5px;
    line-height: 1;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 6px;
    cursor: pointer;
    place-items: center;
  }

  .chart-zoom.svelte-1bybxa9 button:where(.svelte-1bybxa9):last-child {
    min-width: 32px;
  }

  .chart-zoom.svelte-1bybxa9 button:where(.svelte-1bybxa9):hover:not(:disabled) {
    color: var(--ink);
    border-color: var(--ink-faint);
  }

  .chart-zoom.svelte-1bybxa9 button:where(.svelte-1bybxa9):focus-visible {
    outline: 2px solid var(--chart-color);
    outline-offset: 1px;
  }

  .chart-zoom.svelte-1bybxa9 button:where(.svelte-1bybxa9):disabled {
    opacity: 0.35;
    cursor: default;
  }

  .plot.svelte-1bybxa9 {
    height: auto;
    touch-action: pan-y;
    cursor: crosshair;
    user-select: none;
  }

  .plot.svelte-1bybxa9:focus-visible {
    outline: 2px solid var(--chart-color);
    outline-offset: 2px;
    border-radius: 4px;
  }

  .plot.dragging.svelte-1bybxa9 {
    cursor: grabbing;
  }

  .tick.svelte-1bybxa9,
  .axis-time.svelte-1bybxa9,
  .empty.svelte-1bybxa9 {
    fill: var(--ink-faint);
    font-size: 10px;
    font-variant-numeric: tabular-nums;
  }

  .empty.svelte-1bybxa9 {
    font-size: 11.5px;
  }

  .crosshair.svelte-1bybxa9 {
    stroke: var(--ink-faint);
    stroke-width: 1;
    stroke-dasharray: 3 3;
  }

  .dot.svelte-1bybxa9 {
    fill: var(--chart-color);
    stroke: var(--card);
    stroke-width: 1.5;
  }

  .chart-tip.svelte-1bybxa9 rect:where(.svelte-1bybxa9) {
    fill: var(--card);
    stroke: var(--line);
    stroke-width: 1;
  }

  .tip-time.svelte-1bybxa9 {
    fill: var(--ink-faint);
    font-size: 10px;
  }

  .tip-value.svelte-1bybxa9 {
    fill: var(--ink);
    font-size: 11.5px;
    font-weight: 700;
  }
  @media (max-width: 800px) {
    .tick.svelte-1bybxa9,
    .axis-time.svelte-1bybxa9,
    .empty.svelte-1bybxa9 {
      font-size: 17px;
    }

    .tip-time.svelte-1bybxa9 {
      font-size: 14px;
    }

    .tip-value.svelte-1bybxa9 {
      font-size: 16px;
    }
  }
