/*!
 * 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 {
  /* Primary typeface: Literata (loaded in layout) — strong Cyrillic, made for long reading */
  --font-app-serif: "Literata", Georgia, "Times New Roman", serif;

  /* Fixed header; raised to 4rem on desktop in components/header.css */
  --app-header-height: 3.5rem;
  --app-header-content-gap: 1rem; /* space below fixed header before main content (desktop override in header.css) */

  --my-gradient: linear-gradient(to left, #f0e8dc, #e0d4c4);
  --my-accent: #7d5a2e;
  --my-accent-hover: #5e4122;
  --my-accent-focus: rgba(125, 90, 46, 0.30);
  --desktop: (min-width: 1025px);
  --mobileAndTablet: (max-width: 768px);

  /* Desktop typography – unified across pages (cards use same scale via Pico/buttons) */
  --my-desktop-body: 0.8125rem;     /* 13px */
  --my-desktop-body-sm: 0.75rem;   /* 12px – labels, table heads */
  --my-desktop-h1: 1.0625rem;       /* 17px – page titles */
  --my-desktop-h2: 0.9375rem;      /* 15px – section headings */
  --my-desktop-h3: 0.875rem;       /* 14px – subsections */

  /*
   * Rune artwork — change --rune-glyph-max only for global rune size; Futhark width + tablet heroes scale from it.
   */
  --rune-glyph-max: 120px;
  /* Virtual spreads: tile size is fluid from row width (see virtual_runes.css); floor for small viewports */
  --rune-reading-flip-min: 6rem;
  /* Rune flip tiles (.flip-container + square .flipper) */
  --flipper-tile-max: 180px;
  --rune-glyph-hero-tablet: calc(var(--rune-glyph-max) * 7 / 6); /* ~140px when max is 120 */
  --rune-glyph-spread-mobile: calc(var(--rune-glyph-max) * 5 / 6); /* ~100px when max is 120 */
  --futhark-grid-gap-desktop: 0.65rem;
  --page-max-width-futhark: min(1320px, calc(8 * var(--rune-glyph-max) + 7 * var(--futhark-grid-gap-desktop) + 2rem));

  /* Max widths – main column & tool pages (use in page.css + components) */
  --page-max-width-wide: 840px;
  --page-max-width-narrow: 500px;
  --page-prose-max-width: 34rem;
  --page-content-max-width: 640px;
  --virtual-runes-grid-max-width-desktop: 640px;

  /* Desktop vertical rhythm */
  --page-desktop-padding-top: 0.55rem;
  /* Unified title → content gap (mobile/tablet then desktop override) */
  --page-title-gap: 1rem;
  --page-desktop-title-margin-bottom: 0.75rem;
  /* Encyclopedia + daily: gap title → hero */
  --rune-detail-title-hero-gap: var(--page-title-gap);
  --rune-detail-title-hero-gap-desktop: var(--page-desktop-title-margin-bottom);
  /* Virtual spreads (one/two/three): title → reading turbo frame */
  --virtual-spread-title-reading-gap: var(--page-title-gap);
  --virtual-spread-title-reading-gap-desktop: 1rem;
  --main-desktop-padding-x: max(1rem, env(safe-area-inset-left));
  /*
   * Fixed footer: ~3.5rem bar + 0.75rem padding ×2 + safe area + buffer (cookie strip may sit above).
   * Used by main:has(.page); must exceed footer footprint or prose scrolls under the bar.
   */
  --main-footer-clearance: max(6rem, calc(5rem + env(safe-area-inset-bottom)));
  --main-desktop-padding-bottom: var(--main-footer-clearance);

  /* Card / panel surfaces – desktop (translate, journal, book, encyclopedia) */
  --surface-padding-y-desktop: 0.55rem;
  --surface-padding-x-desktop: 0.8rem;
  --surface-gap-desktop: 0.5rem;
  --surface-hero-padding-y-desktop: 0.4rem;
  --surface-hero-padding-x-desktop: 0.65rem;

  /* Data tables – desktop */
  --table-cell-padding-y-desktop: 0.38rem;
  --table-cell-padding-x-desktop: 0.5rem;

  /* Virtual runes reading card */
  --reading-card-padding-desktop: 0.85rem 1rem;
  /* Hint → flip block (mobile/tablet + desktop uses larger below) */
  --reading-hint-margin-bottom: 1rem;
  /* Space below hint on desktop — extra for 3D tiles vs subtitle */
  --reading-hint-margin-bottom-desktop: max(1.5rem, calc(var(--rune-glyph-max) * 0.5 + 0.75rem));
  /* Flip block (tiles + actions): same vertical margin mobile + desktop */
  --reading-flip-block-margin-y: 1rem;
  /* Same gap/clearance/flipped reserve on all breakpoints (was smaller on mobile only) */
  --reading-flip-to-actions-gap: 0.65rem;
  --reading-below-flip-clearance: 0.35rem;
  --reading-flipped-tile-margin-bottom: 0.85rem;

  /*
   * Buttons — site-wide (neutral grey; same palette as pre–UI v2 virtual runes).
   * Secondary = outline; primary = filled. Do not use --pico-color for secondary label —
   * it can match light surfaces and become unreadable on cream cards.
   *
   * Contrast (WCAG 2.1): wheat #f5e6d3 on primary fill ≥4.5:1 for normal text (AA).
   * Hover fill is darker than base so contrast does not drop (lighter greys fail AA).
   */
  --btn-primary-bg: #616161;
  --btn-primary-text: #f5e6d3;
  --btn-primary-border: #6d6d6d;
  --btn-primary-hover-bg: #575757;
  --btn-primary-hover-border: #dcdcdc;
  --btn-focus-ring: rgba(120, 120, 120, 0.45);

  --btn-secondary-bg: transparent;
  --btn-secondary-fg: #2a2520;
  --btn-secondary-border: #6d6d6d;
  --btn-secondary-hover-bg: rgba(97, 97, 97, 0.12);
  --btn-secondary-hover-border: #dcdcdc;

  /* Form controls – desktop (Pico vars overridden on `main`; .button uses these too) */
  --form-spacing-y-desktop: 0.35rem;
  --form-spacing-x-desktop: 0.65rem;
  --form-button-min-height-desktop: 2rem;

  /* Virtual runes interpretation modal («Тлумачення») */
  --modal-hint-max-width: min(22.5rem, 92vw);       /* ~360px – mobile/tablet */
  --modal-hint-max-width-desktop: min(42rem, 85vw); /* ~672px – wider prose on desktop */
  --my-modal-text: 0.75rem;        /* 12px – desktop / dense */
  --my-modal-text-mobile: 1rem;    /* 16px – modal hint body on small screens */
  --my-modal-hint-title-mobile: 1.125rem; /* 18px – modal «Тлумачення» heading */

  /* Auth / form validation – readable on cream card (#fdfbf8) */
  --my-auth-error-bg: #f3e4e4;
  --my-auth-error-border: #c49a9a;
  --my-auth-error-heading: #5a1818;
  --my-auth-error-text: #1c1c1c;
  --my-auth-error-accent: #7a2222;

  /* Flash .alert reuses --my-auth-error-* (same as sign-up #error_explanation) */
  --my-flash-notice-bg: #e8f2e4;
  --my-flash-notice-text: #141a12;
  --my-flash-notice-border: #9ab892;
}
/* Base styles deferred to Pico CSS + pico_theme */

a {
  -webkit-tap-highlight-color: transparent;
}

/* ===== Page content centering (use consistently across all pages) ===== */
.page-content {
  width: 100%;
  max-width: min(var(--page-content-max-width), 100%);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.page-content--narrow {
  max-width: 420px;
}

.page-content--wide {
  max-width: min(var(--page-max-width-wide), 100%);
}

/* Legacy aliases – prefer .page-content */
.center {
  display: block;
  width: 100%;
  max-width: min(var(--page-content-max-width), 100%);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.center-pages {
  display: block;
  width: 100%;
  max-width: 750px;
  margin: 1rem auto;
  padding: 8px;
  text-align: center;
}

/* Narrow centered text (privacy, articles) */
.text-container {
  width: 100%;
  max-width: min(31.25rem, 100%);
  margin: 0 auto;
  padding: 0.5rem;
  text-align: left;
}

@media (min-width: 1025px) {
  .text-container {
    max-width: min(var(--page-prose-max-width), 100%);
    padding: 0.35rem 0.25rem;
  }
}

.content-box {
  columns: 2 auto;
}

.accent-color {
  color: var(--pico-primary);
}


.el-title {
  font-size: 1.3rem;
  font-weight: bold;
}

.el-subtitle {
  font-size: 1.1rem;
  font-weight: normal;
}

.el-subtitle-bold {
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
}

.el-text {
  font-size: 1rem;
  font-weight: normal;
}

/* Desktop: regular text max 13px, headings scaled */
@media (min-width: 1025px) {
  .el-title {
    font-size: var(--my-desktop-h1);
  }

  .el-subtitle,
  .el-subtitle-bold {
    font-size: var(--my-desktop-h2);
  }

  .el-text {
    font-size: var(--my-desktop-body);
  }
}

.hidden {
  display: none;
}

.mobileonly {
  display: inline-block;
}

/* .button and input styled by Pico CSS */

.light-text {
  color: var(--pico-muted-color);
}
/* Virtual runes - layout selection & rune reading */

/* Layout selector grid – responsive, no max-width on mobile/tablet */
.virtual-runes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  padding: 0.5rem 0 1rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .virtual-runes__grid {
    gap: 1.5rem;
    padding: 1rem 0 1.5rem;
  }
}

/* Virtual runes selection cards – no box, blends with page */
.virtual-runes__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1.25rem;
  min-height: 44px;
  background: transparent;
  border-radius: var(--pico-border-radius);
  text-decoration: none;
  color: var(--pico-color);
  transition: color var(--pico-transition), background-color 0.2s ease, border-color 0.2s ease;
  text-align: center;
  border: 2px solid transparent;
}

.virtual-runes__card:hover {
  background: rgba(184, 134, 11, 0.06);
  border-color: rgba(184, 134, 11, 0.2);
}

.virtual-runes__card:focus-visible {
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 2px;
}

.virtual-runes__card:active {
  background: rgba(184, 134, 11, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .virtual-runes__card:hover {
    transform: none;
  }
}

.virtual-runes__card img {
  display: block;
  width: 72px;
  height: auto;
  opacity: 0.9;
  background: transparent;
  background-color: transparent;
  transition: opacity 0.2s ease;
}

.virtual-runes__card:hover img {
  opacity: 1;
}

.virtual-runes__card h2 {
  margin: 0.625rem 0 0.375rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--pico-color);
}

.virtual-runes__card p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--pico-muted-color);
  max-width: 28ch;
}

@media (min-width: 768px) {
  .virtual-runes__card {
    padding: 1.75rem 1.5rem;
  }

  .virtual-runes__card img {
    width: 80px;
  }

  .virtual-runes__card h2 {
    font-size: 1.1rem;
  }

  .virtual-runes__card p {
    font-size: 0.9rem;
    max-width: none;
  }
}

@media (min-width: 1025px) {
  .virtual-runes__card {
    padding: 1.1rem 1rem;
  }

  /* Same cap as Futhark gallery (variables.css --rune-glyph-max) */
  .virtual-runes__card img {
    width: auto;
    height: auto;
    max-width: min(var(--rune-glyph-max), 100%);
    max-height: var(--rune-glyph-max);
    object-fit: contain;
    background: transparent;
    background-color: transparent;
  }

  .virtual-runes__card h2 {
    font-size: var(--my-desktop-h2);
  }

  .virtual-runes__card p {
    font-size: var(--my-desktop-body);
  }
}

/* Rune details (one/two/three runes, daily) – mobile-first, fits viewport */
.rune-details {
  width: 100%;
  max-width: min(420px, calc(100vw - 2rem));
  margin: 0 1rem;
  padding: 1rem;
  padding-left: max(1rem, env(safe-area-inset-left));
  padding-right: max(1rem, env(safe-area-inset-right));
  text-align: center;
  align-self: center;
  box-sizing: border-box;
  overflow-wrap: break-word;
}

/* Virtual spreads: a bit more horizontal room; reading column wider than 420px so flip tiles can scale */
.rune-details:has(.rune-details__reading) {
  margin-left: max(0.5rem, env(safe-area-inset-left));
  margin-right: max(0.5rem, env(safe-area-inset-right));
  padding-top: 0.75rem;
  padding-bottom: 1rem;
  padding-left: max(0.625rem, env(safe-area-inset-left));
  padding-right: max(0.625rem, env(safe-area-inset-right));
  max-width: min(440px, calc(100vw - 1rem));
}

@media (min-width: 768px) {
  .rune-details:has(.rune-details__reading) {
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 1rem;
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
    max-width: min(480px, calc(100vw - 2rem));
  }
}

@media (min-width: 1025px) {
  .rune-details:has(.rune-details__reading) {
    max-width: min(var(--page-max-width-narrow), calc(100vw - 2rem));
  }
}

/* Rune-details pages: top-aligned like the rest of the app; card stays horizontally centered */
.page.rune-details {
  justify-content: flex-start;
  align-items: center;
}

@media (max-width: 1024px) {
  .page.rune-details:not(.rune-details--encyclopedia):not(.rune-details--daily) {
    padding-top: 0.25rem;
  }
}

@media (min-width: 1025px) {
  .page.rune-details.rune-details--encyclopedia,
  .page.rune-details.rune-details--daily {
    padding-top: 0.5rem;
  }
}

/* Encyclopedia & daily: unified page title (components/page.css .page__title--serif) */
.rune-details--encyclopedia > h1.page__title,
.rune-details--daily > h1.page__title {
  order: -1;
  /* Single gap to hero — same on both pages (avoids uneven space when daily title wraps) */
  margin-bottom: 0;
}

.rune-details--encyclopedia > h1.page__title + .rune-details__hero,
.rune-details--daily > h1.page__title + .rune-details__hero {
  margin-top: var(--rune-detail-title-hero-gap);
}

/* Virtual spreads (one/two/three): title above the reading card, same rhythm as daily */
.rune-details--virtual-spread > h1.page__title {
  margin-bottom: 0;
}

.rune-details--virtual-spread > h1.page__title + .virtual-rune-reading-frame {
  margin-top: var(--virtual-spread-title-reading-gap);
}

/* Shared card styling: hero + sections (hero padding set separately, smaller) */
.rune-details--encyclopedia .rune-details__hero,
.rune-details--daily .rune-details__hero,
.rune-details--encyclopedia .rune-details__section,
.rune-details--daily .rune-details__section {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
  min-height: 44px; /* WCAG 2.5.5 touch target */
}

.rune-details--encyclopedia .rune-details__section,
.rune-details--daily .rune-details__section {
  padding: 1.25rem 1.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .rune-details--encyclopedia .rune-details__section,
  .rune-details--daily .rune-details__section {
    transition: none;
  }
}

/* Hero block: icon only (centered) – tighter than content sections */
.rune-details--encyclopedia .rune-details__hero,
.rune-details--daily .rune-details__hero {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
}

.rune-details--encyclopedia .rune-details__hero-image,
.rune-details--daily .rune-details__hero-image {
  display: block;
  width: auto;
  height: auto;
  max-width: var(--rune-glyph-max);
  max-height: var(--rune-glyph-max);
  padding: 0;
  background: transparent;
  object-fit: contain;
}

@media (min-width: 768px) {
  .rune-details {
    max-width: 460px;
    padding: 1.25rem;
  }

  .rune-details--encyclopedia .rune-details__section,
  .rune-details--daily .rune-details__section {
    padding: 1.5rem 1.75rem;
  }

  .rune-details--encyclopedia .rune-details__hero,
  .rune-details--daily .rune-details__hero {
    margin-bottom: 1rem;
    padding: 0.75rem 1.25rem;
  }

  .rune-details--encyclopedia .rune-details__hero-image,
  .rune-details--daily .rune-details__hero-image {
    max-width: var(--rune-glyph-hero-tablet);
    max-height: var(--rune-glyph-hero-tablet);
  }
}

@media (min-width: 1025px) {
  .rune-details {
    max-width: min(var(--page-max-width-narrow), 100%);
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
  }

  .rune-details--encyclopedia .rune-details__section,
  .rune-details--daily .rune-details__section {
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
  }

  .rune-details--encyclopedia .rune-details__hero,
  .rune-details--daily .rune-details__hero {
    margin-bottom: var(--surface-gap-desktop);
    padding: var(--surface-hero-padding-y-desktop) var(--surface-hero-padding-x-desktop);
  }

  .rune-details--encyclopedia .rune-details__hero-image,
  .rune-details--daily .rune-details__hero-image {
    max-width: var(--rune-glyph-max);
    max-height: var(--rune-glyph-max);
  }

  .rune-details--encyclopedia > h1.page__title + .rune-details__hero,
  .rune-details--daily > h1.page__title + .rune-details__hero {
    margin-top: var(--rune-detail-title-hero-gap-desktop);
  }

  .rune-details--virtual-spread > h1.page__title + .virtual-rune-reading-frame {
    margin-top: var(--virtual-spread-title-reading-gap-desktop);
  }

  .rune-details--encyclopedia .rune-details__section,
  .rune-details--daily .rune-details__section {
    margin-top: var(--surface-gap-desktop);
  }

  .rune-details--encyclopedia .rune-details__section h2,
  .rune-details--daily .rune-details__section h2 {
    font-size: var(--my-desktop-body-sm);
    margin-bottom: var(--surface-gap-desktop);
    padding-bottom: 0.35rem;
  }

  .rune-details--encyclopedia .rune-details__section p,
  .rune-details--daily .rune-details__section p {
    font-size: var(--my-desktop-body);
    line-height: 1.55;
  }
}

/* Rune image on detail pages – shared (daily rune uses .rune-image) */
.rune-details .rune-image {
  display: block;
  width: auto;
  height: auto;
  max-width: var(--rune-glyph-spread-mobile);
  max-height: var(--rune-glyph-spread-mobile);
  margin: 0.75rem auto;
  object-fit: contain;
  background: transparent;
}

.rune-details--encyclopedia .rune-details__section,
.rune-details--daily .rune-details__section {
  margin-top: 1rem;
  text-align: left;
  transition: box-shadow 0.2s ease;
}

.rune-details--encyclopedia .rune-details__section:hover,
.rune-details--daily .rune-details__section:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

@media (prefers-reduced-motion: reduce) {
  .rune-details--encyclopedia .rune-details__section:hover,
  .rune-details--daily .rune-details__section:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
}

.rune-details--encyclopedia .rune-details__section h2,
.rune-details--daily .rune-details__section h2 {
  font-size: 0.8125rem; /* 13px mobile/tablet */
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--my-accent, #b8860b);
  margin: 0 0 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(184, 134, 11, 0.25);
}

/* Body: 1rem base = 16px (prevents iOS zoom), 1.6–1.65 line-height for readability */
.rune-details--encyclopedia .rune-details__section p,
.rune-details--daily .rune-details__section p {
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
  color: var(--pico-color);
  max-width: 65ch; /* Optimal line length for reading */
  margin-left: auto;
  margin-right: auto;
}

.rune-details--daily .daily-rune__name {
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.rune-details--daily .daily-rune__actions {
  width: 100%;
  margin-top: 1.25rem;
  display: flex;
  justify-content: center;
}

.rune-details--daily .daily-rune__actions .rune-details__journal-link {
  margin-top: 0;
  width: 100%;
  max-width: 20rem;
  text-align: center;
}

@media (min-width: 768px) {
  .rune-details .rune-image {
    max-width: var(--rune-glyph-hero-tablet);
    max-height: var(--rune-glyph-hero-tablet);
    margin: 1rem auto;
  }

  .rune-details--encyclopedia .rune-details__section p,
  .rune-details--daily .rune-details__section p {
    font-size: 1rem;
  }
}

/* Turbo Frame wrapper — full width inside column */
.virtual-rune-reading-frame {
  display: block;
  width: 100%;
  max-width: 100%;
}

/* Single card for hint + flipper + buttons – avoids "cards in cards" */
.rune-details__reading {
  background-color: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-card-box-shadow);
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 1rem 0.875rem 1.125rem;
}

/*
 * Pico styles [role=button] like a primary button (default --pico-primary-background = blue;
 * :hover/:focus use --pico-primary-hover-background = theme gold). Flipper tiles use role="button"
 * only for keyboard a11y — reset all of that so only .front / .back show content.
 */
.rune-details__reading .flipper[role="button"],
.rune-details__reading .flipper[role="button"]:hover,
.rune-details__reading .flipper[role="button"]:focus,
.rune-details__reading .flipper[role="button"]:active,
.rune-details__reading .flipper[role="button"]:focus-visible {
  --pico-background-color: transparent;
  --pico-border-color: transparent;
  --pico-color: inherit;
  --pico-box-shadow: none;
  padding: 0;
  border: none;
  background-color: transparent;
  box-shadow: none;
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: auto;
  user-select: auto;
}

.rune-details__reading .rune-flipper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: var(--reading-flip-block-margin-y);
  margin-bottom: var(--reading-flip-block-margin-y);
  gap: var(--reading-flip-to-actions-gap);
}

/* Column count for tile width (avoid inline style= for CSP) */
.rune-details__reading .rune-flipper--1 {
  --reading-flip-count: 1;
}

.rune-details__reading .rune-flipper--2 {
  --reading-flip-count: 2;
}

.rune-details__reading .rune-flipper--3 {
  --reading-flip-count: 3;
}

.rune-details__reading .center-screen {
  /* Full row width so flip % shares resolve; parent .rune-flipper is align-items: center */
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  --reading-flip-gap: 0.5rem;
  gap: var(--reading-flip-gap);
  padding-bottom: var(--reading-below-flip-clearance);
}

/* Equal columns from available width (count from --reading-flip-count on .rune-flipper) */
.rune-details__reading .flip-container {
  --_n: var(--reading-flip-count, 1);
  --_g: var(--reading-flip-gap);
  --reading-flip-share: calc((100% - (var(--_n) - 1) * var(--_g)) / var(--_n));
  box-sizing: border-box;
  flex: 1 1 var(--reading-flip-share);
  min-width: min(
    100%,
    max(var(--rune-reading-flip-min), var(--reading-flip-share)),
    var(--flipper-tile-max)
  );
  max-width: min(100%, var(--reading-flip-share), var(--flipper-tile-max));
}

/* Glyph uses remaining space above the label (default column flex splits poorly) */
.rune-details__reading .back {
  min-height: 0;
}

.rune-details__reading .flipper .back img {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  width: auto;
  /* Beat flipper.css .flipper img 92% cap so the glyph can use the row minus the label */
  max-width: 100%;
  max-height: none;
  height: auto;
  object-fit: contain;
  background: transparent;
  background-color: transparent;
}

.rune-details__reading .back .rune-name {
  flex-shrink: 0;
}

/* Front (empty rune): fill tile; drop global 92% cap from flipper.css */
.rune-details__reading .flipper .front img {
  flex: 1 1 auto;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: transparent;
  background-color: transparent;
}

@media (min-width: 480px) {
  .rune-details__reading .center-screen {
    --reading-flip-gap: 0.75rem;
  }
}

@media (min-width: 768px) {
  .rune-details__reading .center-screen {
    --reading-flip-gap: 1rem;
  }
}

/* Overflow from .back (e.g. «Алґіз (перев.)») is visible but doesn’t extend flex height — reserve space */
.rune-details__reading .flip-container:has(.flipper.is-flipped) {
  margin-bottom: var(--reading-flipped-tile-margin-bottom);
}

.rune-details__reading .new-rune-button-section {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.hint {
  margin-bottom: var(--reading-hint-margin-bottom);
}

.hint h2,
.hint .el-subtitle {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--pico-muted-color);
  margin: 0;
}

@media (min-width: 480px) {
  .rune-details__reading .back {
    gap: 0.2rem;
  }

  .rune-details__reading .back .rune-name {
    margin: 0;
  }
}

@media (min-width: 768px) {
  .rune-details__reading {
    padding: 1.25rem 1.35rem 1.35rem;
  }

  .rune-details__reading .hint,
  .hint {
    margin-bottom: var(--reading-hint-margin-bottom);
  }
}

@media (min-width: 1025px) {
  .rune-details__reading {
    padding: var(--reading-card-padding-desktop);
  }

  .rune-details__reading .hint {
    margin-bottom: var(--reading-hint-margin-bottom-desktop);
  }

  .hint h2,
  .hint .el-subtitle {
    font-size: var(--my-desktop-body);
  }

  .rune-details__section h2 {
    font-size: var(--my-desktop-body);
  }

  .virtual-runes__hint-runename,
  .rune-name {
    font-size: var(--my-modal-text, 0.75rem);
  }

  .virtual-runes__modal-content {
    max-width: var(--modal-hint-max-width-desktop);
    padding: 1.25rem 1.5rem 1.35rem;
    font-size: var(--my-modal-text, 0.75rem);
  }

  .virtual-runes__description {
    font-size: var(--my-modal-text, 0.75rem);
  }

  .virtual-runes__hint-title {
    font-size: var(--my-desktop-body);
  }

  .modal__close {
    font-size: 1.125rem;
  }

  .rune-details .rune-image {
    max-width: var(--rune-glyph-max);
    max-height: var(--rune-glyph-max);
    margin: var(--surface-gap-desktop) auto;
  }

  .virtual-runes__hint-rune-icon {
    width: auto;
    height: auto;
    max-width: var(--rune-glyph-max);
    max-height: var(--rune-glyph-max);
    background: transparent;
    background-color: transparent;
  }
}

.rune-details__section {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--pico-muted-border-color);
}

.rune-details__section h2 {
  font-size: 1rem;
  margin: 0 0 0.5rem;
}

.rune-details__journal-link {
  margin-top: 2rem;
}

.el-title--light {
  font-weight: 400;
}

/*
 * Reading actions — `.button` / `.button--secondary` from overrides/pico_theme.css (same
 * min-height, padding, font-size as the rest of the app). No extra typography/box overrides.
 * Hidden until flipped; visibility toggled via .new-rune-button-section--visible.
 * Always column: «Тлумачення» above «Новий розклад» (matches mobile) at all breakpoints.
 */
.new-rune-button-section {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0.5rem;
  justify-content: flex-start;
  align-items: stretch;
  align-content: stretch;
  margin-top: 1rem;
  width: 100%;
}

.new-rune-button-section .new-runes__action {
  display: none;
  flex: 0 0 auto;
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.new-rune-button-section.new-rune-button-section--visible .new-runes__action {
  display: inline-flex;
}

@media (min-width: 768px) {
  .new-rune-button-section {
    gap: 0.75rem;
    margin-top: 1.5rem;
  }
}

@media (min-width: 1025px) {
  .new-rune-button-section {
    margin-top: 1rem;
  }
}

/* Modal */
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow: auto;
}

.modal.modal--open {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.modal__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

/* Icon-only close: reset Pico `button` hover (inverse text + no fill → invisible on cream card) */
.modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  background: transparent;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.25rem;
  cursor: pointer;
  color: #555;
  -webkit-appearance: none;
  appearance: none;
}

.modal__close:hover,
.modal__close:focus-visible {
  color: #1a1a1a;
  background: rgba(0, 0, 0, 0.06);
}

.modal__close:focus-visible {
  outline: 2px solid var(--btn-focus-ring);
  outline-offset: 2px;
}

.virtual-runes__modal-content {
  position: relative;
  z-index: 1;
  background-color: var(--pico-card-background-color);
  color: var(--pico-color);
  margin: 10% auto;
  padding: 1.125rem 1.25rem 1.25rem;
  border-radius: var(--pico-border-radius);
  max-width: var(--modal-hint-max-width, min(22.5rem, 92vw));
  font-size: var(--my-modal-text-mobile, 1rem);
}

.virtual-runes__hint-title {
  margin: 0 2rem 0 0;
  font-size: var(--my-modal-hint-title-mobile, 1.125rem);
  font-weight: 600;
  line-height: 1.3;
  color: var(--pico-color);
}

.virtual-runes__hint-list {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.virtual-runes__hint-rune {
  padding-top: 0.75rem;
}

.virtual-runes__hint-rune:first-child {
  padding-top: 0;
}

.virtual-runes__hint-rune:not(:first-child) {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.virtual-runes__hint-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.virtual-runes__hint-rune-icon {
  display: block;
  height: 1.375rem;
  width: auto;
  flex-shrink: 0;
  background: transparent;
  background-color: transparent;
}

.virtual-runes__hint-runename {
  font-size: var(--my-modal-text-mobile, 1rem);
  font-weight: 600;
  margin: 0;
  line-height: 1.35;
  color: var(--my-accent);
}

.virtual-runes__description {
  font-size: var(--my-modal-text-mobile, 1rem);
  line-height: 1.5;
  margin: 0;
  color: var(--pico-muted-color);
  text-align: left;
}

.rune-name {
  font-size: 1rem;
}

@media (min-width: 768px) {
  .virtual-runes__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .rune-details {
    padding: 1.5rem;
  }
}

@media (min-width: 1025px) {
  .virtual-runes__grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: var(--virtual-runes-grid-max-width-desktop);
    margin: 0 auto;
  }
}
/* Futhark - rune gallery (extends .page) */

.futhark__container {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  text-align: center;
  padding-top: 0.25rem;
}

.futhark__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.35rem;
  width: 100%;
  max-width: min(100%, 100vw - 2rem);
  box-sizing: border-box;
}

/* Mobile: larger runes, tap targets (min 44px for a11y) */
.futhark__rune-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.2rem;
  min-height: 101px;
  min-width: 0;
  transition: opacity var(--pico-transition);
}

.futhark__rune-cell:hover,
.futhark__rune-cell:active {
  opacity: 0.85;
}

.futhark__rune-cell:focus-visible {
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 2px;
}

/* Link is the cell – black text, not link blue */
a.futhark__rune-cell,
a.futhark__rune-cell:visited,
a.futhark__rune-cell:hover,
a.futhark__rune-cell .futhark__rune-name {
  color: #1a1a1a !important;
  text-decoration: none;
}

.futhark__rune-image {
  height: calc(64px * 1.15);
  width: calc(64px * 1.15);
  object-fit: contain;
  background: transparent;
}

.futhark__rune-name {
  margin: 0.3rem 0 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

@media (min-width: 768px) {
  .futhark__row {
    grid-template-columns: repeat(6, 1fr);
    gap: 0.75rem;
  }

  .futhark__rune-cell {
    padding: 0.75rem 0.5rem;
    min-height: 127px;
    background: transparent;
    border: 2px solid transparent;
    border-radius: var(--pico-border-radius);
    transition: background-color 0.2s ease, border-color 0.2s ease, opacity var(--pico-transition);
  }

  .futhark__rune-cell:hover {
    background: rgba(184, 134, 11, 0.06);
    border-color: rgba(184, 134, 11, 0.2);
    opacity: 1;
  }

  .futhark__rune-cell:active {
    background: rgba(184, 134, 11, 0.1);
  }


  .futhark__rune-image {
    height: calc(64px * 1.15);
    width: calc(64px * 1.15);
  }

  .futhark__rune-name {
    font-size: 0.95rem;
    margin: 0.5rem 0 0;
  }
}

@media (min-width: 1025px) {
  .futhark__container {
    padding-top: 0;
  }

  .futhark__row {
    grid-template-columns: repeat(8, 1fr);
    gap: var(--futhark-grid-gap-desktop);
    max-width: 100%;
    margin: 0 auto;
  }

  .futhark__rune-cell {
    min-height: calc(var(--rune-glyph-max) + 2.75rem);
    padding: 0.5rem 0.35rem;
  }

  .futhark__rune-image {
    height: auto;
    width: auto;
    max-width: min(var(--rune-glyph-max), 100%);
    max-height: var(--rune-glyph-max);
  }

  .futhark__rune-name {
    font-size: var(--my-desktop-h3);
    margin-top: 0.45rem;
  }
}
/* Translate – name to runes (matches journal / rune detail cards) */

.translate {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  align-items: center;
}

/* Turbo Frame: only this region swaps on submit (no full page replace) */
.translate__results-frame {
  display: block;
  width: 100%;
  max-width: 100%;
}

/* Panel intro: icon + title + hint read as one block (single card = one job) */
.translate__panel-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 0 0 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(184, 134, 11, 0.25);
}

.translate__panel-head-text {
  width: 100%;
  min-width: 0;
}

/* Decorative rune – no second “card”; lives inside the translate panel */
.translate__hero {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Mobile: large decorative rune (stacked above copy); tablet+ row uses compact size */
.translate__hero-image {
  display: block;
  width: min(11rem, 78vw);
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .translate__panel-head {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem 1.35rem;
    text-align: left;
  }

  .translate__panel-head-text {
    flex: 1 1 auto;
    max-width: min(26rem, 100%);
    text-align: center;
  }

  .translate__hero-image {
    width: 72px;
    max-width: 72px;
    max-height: 72px;
    object-fit: contain;
  }
}

.translate__panel {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  padding: 1.25rem 1.5rem;
  margin: 0 0 1rem;
  text-align: center;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
  transition: box-shadow 0.2s ease;
}

.translate__panel:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.translate__panel-heading {
  margin: 0 0 0.75rem;
  padding-bottom: 0;
  border-bottom: none;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--my-accent, #b8860b);
  line-height: 1.3;
}

.translate__hint {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--pico-muted-color);
  text-align: center;
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
}

.translate__form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: stretch;
}

.translate__form-field {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
}

.translate__form input[type="text"] {
  text-align: center;
  margin-bottom: 0;
  width: 100%;
  padding-inline: 2.25rem 2.5rem;
  box-sizing: border-box;
}

.translate__clear {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: var(--pico-border-radius);
  background: transparent;
  color: var(--pico-muted-color);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.translate__clear:hover {
  color: var(--pico-color);
  background: rgba(0, 0, 0, 0.06);
}

.translate__clear:focus-visible {
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 2px;
}

.translate__clear[disabled],
.translate__clear[hidden] {
  pointer-events: none;
  visibility: hidden;
}

@media (min-width: 768px) {
  .translate__panel {
    padding: 1.5rem 1.75rem;
  }

  .translate__form {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
  }

  .translate__form-field {
    flex: 1 1 auto;
    min-width: 200px;
    max-width: 280px;
  }

  .translate__form input[type="text"] {
    flex: 1 1 auto;
  }
}

.translate__notice {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  margin: 0 0 1rem;
  padding: 1rem 1.25rem;
  border-radius: var(--pico-border-radius);
  font-size: 0.9375rem;
  line-height: 1.5;
  text-align: center;
}

.translate__notice--error {
  color: var(--my-auth-error-text, #1c1c1c);
  background: var(--my-auth-error-bg, #f3e4e4);
  border: 1px solid var(--my-auth-error-border, #c49a9a);
}

.translate__results {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  margin: 0;
  padding: 1.25rem 1.5rem 1.5rem;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
  transition: box-shadow 0.2s ease;
}

.translate__results:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.translate__results-heading {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-align: center;
  color: var(--pico-color);
}

.translate__results-inner {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -0.25rem;
  padding: 0 0.25rem;
}

.translate__table {
  width: 100%;
  min-width: min(100%, 200px);
  margin: 0 auto;
  border-collapse: collapse;
}

.translate__table thead th {
  padding: 0.5rem 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
  color: var(--my-accent, #b8860b);
  border-bottom: 1px solid rgba(184, 134, 11, 0.25);
  vertical-align: bottom;
}

.translate__table tbody td {
  padding: 0.875rem 0.5rem 0.25rem;
  text-align: center;
  vertical-align: top;
}

.translate__rune-icons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.25rem;
  min-height: 2rem;
}

.translate__rune-icon {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

@media (min-width: 768px) {
  .translate__results {
    padding: 1.5rem 1.75rem 1.75rem;
  }

  .translate__results-heading {
    font-size: 1.125rem;
    margin-bottom: 1.125rem;
  }

  .translate__table thead th {
    padding: 0.625rem 0.65rem 0.875rem;
  }

  .translate__table tbody td {
    padding: 1rem 0.65rem 0.35rem;
  }

  .translate__rune-icon {
    width: 32px;
    height: 32px;
  }
}

/* Desktop: left-aligned tool layout (narrow column), wider field, results table inset */
@media (min-width: 1025px) {
  .translate__panel-head {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    margin-bottom: var(--surface-gap-desktop);
    padding-bottom: var(--surface-gap-desktop);
    gap: 1rem 1.15rem;
  }

  .translate__panel-head-text {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    text-align: left;
  }

  .translate__hero {
    margin-top: 0.1rem;
  }

  /* Slightly larger than tablet chip; balances left column with body copy */
  .translate__hero-image {
    width: calc(var(--rune-glyph-max) * 0.5);
    max-width: calc(var(--rune-glyph-max) * 0.5);
    max-height: calc(var(--rune-glyph-max) * 0.5);
  }

  .translate__panel {
    margin-bottom: var(--surface-gap-desktop);
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
    text-align: left;
  }

  .translate__panel-heading {
    margin: 0 0 0.35rem;
    font-size: var(--my-desktop-body-sm);
    text-align: left;
  }

  .translate__hint {
    font-size: var(--my-desktop-body);
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }

  .translate__form {
    justify-content: flex-start;
    align-items: flex-end;
  }

  .translate__form .button {
    flex-shrink: 0;
  }

  .translate__form-field {
    flex: 1 1 auto;
    min-width: min(100%, 12rem);
    max-width: 22rem;
  }

  .translate__form input[type="text"] {
    text-align: left;
  }

  .translate__results {
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
  }

  .translate__results-heading {
    margin: 0 0 var(--surface-gap-desktop);
    font-size: var(--my-desktop-h3);
    text-align: left;
  }

  .translate__results-inner {
    margin: 0;
    padding: 0.5rem 0.4rem;
    border-radius: var(--pico-border-radius);
    border: 1px solid rgba(184, 134, 11, 0.14);
    background: rgba(184, 134, 11, 0.045);
  }

  .translate__table thead th {
    padding: var(--table-cell-padding-y-desktop) var(--table-cell-padding-x-desktop)
      calc(var(--table-cell-padding-y-desktop) + 0.12rem);
    font-size: var(--my-desktop-body-sm);
  }

  .translate__table tbody td {
    padding: var(--table-cell-padding-y-desktop) var(--table-cell-padding-x-desktop) 0.15rem;
    font-size: var(--my-desktop-body);
  }

  .translate__rune-icon {
    width: auto;
    height: auto;
    max-width: min(var(--rune-glyph-max), 100%);
    max-height: var(--rune-glyph-max);
  }

  .translate__rune-icons {
    gap: 0.2rem 0.15rem;
    min-height: calc(var(--rune-glyph-max) + 0.25rem);
  }

  .translate__notice {
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
    margin-bottom: var(--surface-gap-desktop);
    font-size: var(--my-desktop-body);
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .translate__panel,
  .translate__results {
    transition: none;
  }

  .translate__panel:hover,
  .translate__results:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
}
/* Journal – daily runes history (matches rune detail cards + page titles) */

.journal {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  align-items: center;
}

.journal__subtitle {
  width: 100%;
  margin: 0 0 1.25rem;
  font-size: 1rem;
  line-height: 1.45;
  text-align: center;
  color: var(--pico-muted-color);
}

.journal__table-wrap {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
  transition: box-shadow 0.2s ease;
}

.journal__table-wrap:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

@media (prefers-reduced-motion: reduce) {
  .journal__table-wrap {
    transition: none;
  }

  .journal__table-wrap:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
}

.journal table {
  width: 100%;
  border-collapse: collapse;
}

.journal thead th {
  padding: 0.875rem 1rem 0.75rem;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--my-accent, #b8860b);
  border-bottom: 1px solid rgba(184, 134, 11, 0.25);
  white-space: nowrap;
}

.journal tbody td {
  padding: 0.75rem 1rem;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid var(--pico-muted-border-color);
  color: var(--pico-color);
}

.journal tbody tr:last-child td {
  border-bottom: none;
}

.journal tbody tr:hover td {
  background: rgba(184, 134, 11, 0.045);
}

.journal__rune-icon {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.journal__date {
  color: var(--pico-muted-color);
  font-size: 0.9rem;
  white-space: nowrap;
}

.journal__empty {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-self: stretch;
  padding: 1.5rem 1.25rem;
  text-align: center;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
}

.journal__empty p {
  margin: 0 0 0.875rem;
  color: var(--pico-color);
  line-height: 1.55;
}

.journal__empty p:last-child {
  margin-bottom: 0;
}

.journal__empty .button {
  margin-top: 0.25rem;
}

@media (min-width: 768px) {
  .journal thead th {
    padding: 1rem 1.25rem 0.875rem;
  }

  .journal tbody td {
    padding: 1rem 1.25rem;
  }

  .journal__empty {
    padding: 1.75rem 1.5rem;
  }
}

@media (min-width: 1025px) {
  .journal__subtitle {
    font-size: var(--my-desktop-body);
    margin-bottom: var(--surface-gap-desktop);
  }

  .journal thead th {
    font-size: var(--my-desktop-body-sm);
    padding: var(--table-cell-padding-y-desktop) var(--table-cell-padding-x-desktop)
      calc(var(--table-cell-padding-y-desktop) + 0.1rem);
  }

  .journal tbody td {
    font-size: var(--my-desktop-body);
    padding: var(--table-cell-padding-y-desktop) var(--table-cell-padding-x-desktop);
  }

  .journal__date {
    font-size: var(--my-desktop-body-sm);
  }

  /* Table row icons: stay compact; --rune-glyph-max is for hero/spread art, not cells */
  .journal__rune-icon {
    width: 36px;
    height: 36px;
    max-width: 36px;
    max-height: 36px;
  }

  .journal__empty {
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
  }
}
/* Authentication - login, registration */

.auth-card {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  background-color: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-card-box-shadow);
}

.auth-card > h2 {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}

.auth__field {
  margin-bottom: 1rem;
}

.auth__field label {
  display: block;
  margin-bottom: 0.25rem;
}

/* Required-field legend — under title, centered like the card heading */
.auth__required-note {
  margin: 0.25rem 0 1.25rem;
  font-size: 0.8125rem;
  line-height: 1.35;
  color: var(--pico-muted-color);
  text-align: center;
}

.auth__required-mark {
  color: var(--my-auth-error-accent, #7a2222);
  font-weight: 700;
  margin-left: 0.125rem;
  text-decoration: none;
}

.auth__required-note .auth__required-mark {
  margin-left: 0;
  margin-right: 0.125rem;
}

.auth__hint {
  margin-top: 1.5rem;
  font-size: 0.95rem;
  color: var(--pico-muted-color);
}

.auth-card .button {
  width: 100%;
  margin-top: 0.5rem;
}

/* Devise error block – solid tint + high-contrast text (readable on auth card) */
#error_explanation {
  margin: 0 0 1rem;
  padding: 0.75rem 0.875rem;
  text-align: left;
  border-radius: var(--pico-border-radius);
  background: var(--my-auth-error-bg);
  border: 1px solid var(--my-auth-error-border);
  border-left: 4px solid var(--my-auth-error-accent);
}

#error_explanation h2 {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0 0 0.5rem;
  color: var(--my-auth-error-heading);
}

#error_explanation ul {
  margin: 0;
  padding-left: 1.15rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--my-auth-error-text);
}

#error_explanation li {
  margin-bottom: 0.2rem;
}

#error_explanation li:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .auth-card {
    padding: 2.5rem;
  }
}

@media (min-width: 1025px) {
  .auth-card {
    max-width: min(22rem, 100%);
    padding: calc(var(--surface-padding-y-desktop) + 0.35rem)
      calc(var(--surface-padding-x-desktop) + 0.15rem)
      calc(var(--surface-padding-y-desktop) + 0.55rem);
  }

  .auth__hint {
    font-size: var(--my-desktop-body);
  }

  .auth-card label,
  .auth-card input {
    font-size: var(--my-desktop-body);
  }

  #error_explanation h2 {
    font-size: var(--my-desktop-body);
  }

  #error_explanation ul {
    font-size: var(--my-desktop-body);
  }

  .auth__required-note {
    font-size: var(--my-desktop-body-sm);
  }
}
/* Book page – matches journal / translate cards and typography */

.book {
  width: 100%;
  max-width: 100%;
  align-items: center;
}

.book__content {
  width: 100%;
  gap: 1.25rem;
}

.book__section {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 1.25rem 1.5rem 1.5rem;
  text-align: left;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  border: 1px solid rgba(184, 134, 11, 0.12);
  transition: box-shadow 0.2s ease;
}

.book__section:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.book__section-heading {
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(184, 134, 11, 0.25);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--my-accent, #b8860b);
  line-height: 1.3;
}

.book__split {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  align-items: center;
}

.book__split--author {
  align-items: center;
}

.book__figure {
  flex-shrink: 0;
  margin: 0;
  padding: 0.75rem 1rem;
  width: 100%;
  max-width: 16rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--pico-background-color);
  border-radius: var(--pico-border-radius);
  border: 1px solid rgba(184, 134, 11, 0.1);
}

.book__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: contain;
  border-radius: calc(var(--pico-border-radius) * 0.66);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.book__image--author {
  max-height: 240px;
}

.book__prose {
  width: 100%;
  min-width: 0;
}

.book__prose p {
  margin: 0 0 1rem;
  line-height: 1.65;
  color: var(--pico-color);
}

.book__prose p:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .book__section {
    padding: 1.5rem 1.75rem 1.75rem;
  }

  .book__split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 1.5rem;
    align-items: center;
  }

  .book__split--author {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  }

  .book__figure {
    max-width: none;
    width: auto;
    min-width: 0;
  }

  .book__split .book__figure {
    justify-self: center;
  }

  .book__image {
    max-height: 220px;
  }

  .book__image--author {
    max-height: 260px;
  }
}

/* Desktop: two cards in one row; wider prose wrapper + slightly tighter imagery */
@media (min-width: 1025px) {
  .book .book__content.page__content--prose {
    max-width: min(52rem, 100%);
  }

  /*
   * Must beat components/page.css `.page__content { display: flex }`, which loads after this file
   * in application.css (same specificity would let flex win and collapse the two-column grid).
   */
  .book .book__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--surface-gap-desktop);
    align-items: stretch;
  }

  .book__section {
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
  }

  /* Stack image above text so photos use full card width (larger than side-by-side) */
  .book__split,
  .book__split--author {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--surface-gap-desktop);
  }

  /* Same visual rhythm as «Про книгу»: photo first, then text */
  .book__split--author .book__figure {
    order: -1;
  }

  .book__figure {
    width: 100%;
    max-width: none;
    padding: var(--surface-hero-padding-y-desktop) var(--surface-hero-padding-x-desktop);
  }

  .book__image {
    width: auto;
    max-width: 100%;
    max-height: min(220px, 36vh);
    margin-inline: auto;
  }

  .book__image--author {
    max-height: min(240px, 38vh);
  }

  .book__section-heading {
    font-size: var(--my-desktop-body-sm);
    margin-bottom: var(--surface-gap-desktop);
    padding-bottom: 0.35rem;
  }

  .book__prose p {
    font-size: var(--my-desktop-body);
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .book__section {
    transition: none;
  }

  .book__section:hover {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  }
}
/* pages/new_features — prose + checklist (донат: сторінка donate) */

.new-features .page__title {
  margin-bottom: var(--page-title-gap);
  text-align: center;
}

.new-features__section {
  margin-bottom: 1.75rem;
}

.new-features__section:last-child {
  margin-bottom: 0;
}

.new-features__section .el-subtitle {
  margin: 0 0 0.65rem;
}

.new-features__check-list {
  list-style: none;
  margin: 0.35rem 0 0;
  padding: 0;
}

@media (min-width: 1025px) {
  .new-features .page__title {
    margin-bottom: var(--page-desktop-title-margin-bottom);
  }

  .new-features__section {
    margin-bottom: 1.25rem;
  }

  .new-features .el-subtitle {
    font-size: var(--my-desktop-h2);
  }
}
/* pages/donate — prose + Monobank QR */

.donate-page .page__title {
  margin-bottom: var(--page-title-gap);
}

.donate-page__header {
  margin-bottom: 1.5rem;
}

.donate-page__title {
  text-align: center;
}

.donate-page__lead {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--pico-muted-color);
  text-align: center;
}

.donate-page__section {
  margin-bottom: 1.75rem;
}

.donate-page__section:last-of-type {
  margin-bottom: 0;
}

/* Виділений блок оплати — не зливається з фоном сторінки й краще читається над футером; той самий блок у donate-modal */
.donate-page__cta-card,
.donate-modal__cta-card {
  margin-top: 0.5rem;
  padding: 1.25rem 1rem 1.35rem;
  border-radius: var(--pico-border-radius);
  background: var(--pico-card-background-color);
  border: 1px solid rgba(184, 134, 11, 0.2);
  box-shadow: var(--pico-card-box-shadow);
}

.donate-modal__cta-card {
  margin-top: 0.75rem;
}

.donate-page__cta-intro,
.donate-modal__cta-intro {
  margin: 0 0 1rem;
  text-align: center;
  font-size: 0.95rem;
}

.donate-page__mono-link,
.donate-modal__mono-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  line-height: 0;
  border-radius: var(--pico-border-radius);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(184, 134, 11, 0.15);
  transition: box-shadow 0.2s ease, opacity 0.2s ease;
}

.donate-page__mono-link:hover,
.donate-modal__mono-link:hover {
  opacity: 0.95;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.donate-page__mono-link:focus-visible,
.donate-modal__mono-link:focus-visible {
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 3px;
}

.donate-page__mono-img,
.donate-modal__mono-img {
  display: block;
  width: 100%;
  max-width: 220px;
  height: auto;
  border-radius: calc(var(--pico-border-radius) - 1px);
}

.donate-page__mono-fallback,
.donate-modal__mono-fallback {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 0.95rem;
}

@media (min-width: 1025px) {
  .donate-page .page__title {
    margin-bottom: var(--page-desktop-title-margin-bottom);
  }

  .donate-page__section {
    margin-bottom: 1.25rem;
  }

  .donate-page .el-subtitle {
    font-size: var(--my-desktop-h2);
  }

  .donate-page__lead {
    font-size: var(--my-desktop-body);
  }
}
/* Development */
development__main-frame {
    display: inline-block;
    width: 800px;
    height: 800px;
}

.development__work-image {
    max-width: 100%;
    max-height: 300px;
}

.development__text {
  text-align: center;
  font-size: 1.5rem;
  font-weight: normal;
}

@media (min-width: 1025px) {
  .development__text {
    font-size: var(--my-desktop-h1);
  }
}
/* Header - redesigned, mobile-first */

.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  height: var(--app-header-height);
  margin: 0;
  padding: 0;
  background: var(--my-gradient, linear-gradient(135deg, #f0e8dc 0%, #e0d4c4 100%));
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow-x: hidden;
  overflow-y: visible; /* don’t clip focus rings / tall glyphs */
  box-sizing: border-box;
}

.header__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Logo - stronger presence */
.header__logo {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0;
  min-height: 44px;
  text-decoration: none;
  color: #1a1a1a;
  font-weight: 700;
}

.header__logo:hover {
  color: var(--pico-primary);
}

.header__logo-img {
  display: block;
  height: 32px;
  width: auto;
  max-width: 10rem;
  object-fit: contain;
}

.header__logo-text {
  font-size: 1.1rem;
  letter-spacing: 0.02em;
}

/* Hamburger - clearer tap target */
.header__menu-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 -0.25rem;
  padding: 0;
  background: none;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  color: #2d2d2d;
}

.header__menu-btn:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--pico-primary);
}

.header__menu-btn:focus-visible {
  outline: 2px solid var(--pico-primary);
  outline-offset: 2px;
}

.header__hamburger {
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}

.header__hamburger::before,
.header__hamburger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}

.header__hamburger::before { top: -6px; }
.header__hamburger::after { top: 6px; }

body.header-menu-open .header__hamburger { background: transparent; }
body.header-menu-open .header__hamburger::before { top: 0; transform: rotate(-45deg); }
body.header-menu-open .header__hamburger::after { top: 0; transform: rotate(45deg); }

@media (prefers-reduced-motion: reduce) {
  .header__hamburger::before, .header__hamburger::after { transition: none; }
  .header__link { transition: none; }
  .header__backdrop,
  .header__sheet {
    transition: none !important;
  }
}

/* Mobile menu - full overlay */
.header__backdrop {
  position: fixed;
  inset: 0;
  top: var(--app-header-height);
  z-index: 101;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}

/* Drawer shell: site links + account block */
.header__sheet {
  position: fixed;
  top: var(--app-header-height);
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 102;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 1.5rem 1rem;
  gap: 0.5rem;
  background: #faf7f2;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateX(100%);
  visibility: hidden;
  transition: none;
}

body.header-menu-open .header__sheet {
  transform: translateX(0);
  visibility: visible;
}

body.header-menu-open .header__backdrop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Enable drawer transitions only after first paint (see header_controller.js .header--anim) */
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .header.header--anim .header__backdrop {
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }

  .header.header--anim .header__sheet {
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.28s ease;
  }
}

.header__menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.header__menu--auth {
  margin-top: 0.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.header__menu li {
  display: block;
  width: 100%;
  flex-shrink: 0;
  margin-bottom: 0.35rem;
}

.header__menu li.header__group-start {
  margin-top: 0.5rem;
}

.header__link {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 0 1.25rem;
  font-size: 1.05rem;
  font-weight: 500;
  color: #1a1a1a;
  text-decoration: none;
  border-radius: 10px;
  border-left: 4px solid transparent;
}

.header__link:hover {
  background: rgba(0, 0, 0, 0.05);
}

.header__link:focus { outline: none; }
.header__link:focus-visible {
  outline: 2px solid var(--pico-primary);
  outline-offset: 2px;
}

.header__link.active {
  font-weight: 600;
  color: var(--pico-primary);
  background: rgba(125, 90, 46, 0.14);
  border-left-color: var(--pico-primary);
}

.header__profile-link { gap: 0.5rem; }
.header__profile-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

body.header-menu-open { overflow: hidden; }

/* Tablet - narrower panel */
@media (min-width: 768px) {
  .header__nav { padding: 0 1.25rem; }
  .header__logo-text { font-size: var(--my-desktop-h2); }

  .header__sheet {
    left: auto;
    right: 0;
    width: 380px;
    max-width: 92vw;
    bottom: 0;
    padding: 1.5rem;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
  }

  .header__link {
    padding: 0 1.5rem;
    font-size: 1.05rem;
  }
}

/* Desktop: [ logo | centered site links | Увійти/Вийти ] */
@media (min-width: 1025px) {
  :root {
    --app-header-height: 4rem;
    --app-header-content-gap: 0.65rem;
  }

  .header {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 4px 20px rgba(0, 0, 0, 0.04);
  }

  .header__nav {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 1rem;
    padding: 0 1.5rem;
    justify-content: initial;
  }

  .header__logo {
    grid-column: 1;
    justify-self: start;
    min-height: 0;
    padding: 0;
    margin-right: 0;
  }

  .header__logo-text {
    font-family: var(--font-app-serif);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .header__menu-btn,
  .header__backdrop {
    display: none;
  }

  /*
   * Unwrap so <ul>s become grid items of .header__nav.
   * Must reset mobile drawer visibility/transform — otherwise links stay hidden off-screen.
   */
  .header__sheet {
    display: contents;
    visibility: visible;
    transform: none;
    position: static;
    inset: auto;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: auto;
    width: auto;
    max-width: none;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    gap: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
    transition: none;
  }

  .header__menu--main {
    grid-column: 2;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    row-gap: 0;
    column-gap: 0.15rem;
    width: 100%;
    min-width: 0;
  }

  .header__menu--auth {
    grid-column: 3;
    justify-self: end;
    flex-direction: row;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    width: auto;
  }

  .header__menu--main li,
  .header__menu--auth li {
    display: inline-flex;
    align-items: center;
    width: auto;
    margin-bottom: 0;
  }

  .header__menu--main li.header__group-start {
    margin-top: 0;
  }

  .header__link {
    box-sizing: border-box;
    min-height: 2.25rem;
    padding: 0.28rem 0.55rem;
    font-size: var(--my-desktop-body);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: rgba(26, 26, 26, 0.92);
    background: transparent;
    border: none;
    border-radius: 0.5rem;
    white-space: nowrap;
    transition: background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
  }

  .header__link:hover {
    background: rgba(0, 0, 0, 0.055);
    color: #141414;
  }

  .header__link:focus-visible {
    outline-offset: 3px;
  }

  .header__link.active {
    font-weight: 600;
    color: var(--pico-primary);
    background: rgba(184, 134, 11, 0.14);
    box-shadow: inset 0 0 0 1px rgba(184, 134, 11, 0.22);
  }

  .header__menu--auth .header__link {
    background: rgba(0, 0, 0, 0.035);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
    color: rgba(26, 26, 26, 0.92);
  }

  .header__menu--auth .header__link:hover {
    background: rgba(0, 0, 0, 0.07);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.11);
    color: #141414;
  }

  .header__menu--auth .header__link.active {
    box-shadow: inset 0 0 0 1px rgba(184, 134, 11, 0.35);
  }

  .header__profile-link {
    gap: 0.4rem;
  }

  .header__profile-icon {
    width: 18px;
    height: 18px;
    opacity: 0.92;
  }

  .header__logo {
    flex-shrink: 0;
  }
}

@media (min-width: 1280px) {
  .header__nav {
    padding: 0 2rem;
    column-gap: 1.25rem;
  }

  .header__menu--main {
    column-gap: 0.2rem;
  }

  .header__link {
    padding: 0.32rem 0.65rem;
    min-height: 2.35rem;
  }
}
/* Footer - mobile-first, responsive */

.footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  min-height: 3.5rem; /* 56px – UX recommended 48–64px */
  padding: 0.75rem 1rem;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
  background: var(--my-gradient, linear-gradient(to left, #fbeee5, #ded1bc));
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.04);
}

.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Rune navigation (prev/next pages) */
.footer__rune-details {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.footer__rune-details .chevron,
.footer__rune-details a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 0 0.75rem;
  color: #000;
  text-decoration: none;
  font-weight: 600;
  border-radius: var(--pico-border-radius);
}

.footer__rune-details .chevron img,
.footer__rune-details a:first-child img,
.footer__rune-details a:last-child img {
  width: 24px;
  height: 24px;
}

.footer__rune-details a:hover {
  background: rgba(0, 0, 0, 0.06);
}

.footer__rune-details a:focus-visible {
  outline: 2px solid var(--pico-primary);
  outline-offset: 2px;
}

/* Copyright / default footer */
.footer__copyright {
  text-align: center;
  font-size: 0.875rem;
  color: #2d2d2d;
  margin: 0;
  line-height: 1.5;
}

.footer__copyright a {
  color: #000;
  font-weight: 600;
}

.footer__copyright a:hover {
  color: #000;
  text-decoration: underline;
}

.footer__copyright a:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* Single link (e.g. daily journal back) — same text color as .footer__rune-details a */
.footer__single-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 1.25rem;
  font-weight: 600;
  color: #000;
  text-decoration: none;
  border-radius: var(--pico-border-radius);
}

.footer__single-link:hover {
  background: rgba(0, 0, 0, 0.06);
}

.footer__single-link:focus-visible {
  outline: 2px solid var(--pico-primary);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .footer {
    min-height: 3.5rem;
    padding: 0.75rem 1.5rem;
  }

  .footer__inner {
    flex-direction: row;
    gap: 1.5rem;
  }

  .footer__rune-details {
    gap: 1rem;
  }
}

@media (min-width: 1025px) {
  .footer {
    min-height: 3.5rem;
    padding: 0.5rem var(--main-desktop-padding-x);
  }

  .footer__inner {
    gap: 1rem;
  }

  .footer__rune-details {
    gap: 0.35rem;
    background: rgba(0, 0, 0, 0.04);
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
    border-radius: var(--pico-border-radius);
  }

  .footer__rune-details .chevron,
  .footer__rune-details a {
    padding: 0 0.75rem;
  }

  .footer__rune-details a:not(.chevron) {
    font-size: var(--my-desktop-body);
  }

  .footer__copyright {
    font-size: var(--my-desktop-body);
  }
}
/* Fixed cookie / analytics consent — above donate strip & footer (see cookie_consent_controller.js) */

.cookie-consent {
  box-sizing: border-box;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1100;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0.85rem 1rem 1rem;
  border-top: 1px solid rgba(120, 90, 20, 0.25);
  background: rgba(252, 250, 246, 0.96);
  backdrop-filter: blur(8px);
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.06);
}

.cookie-consent__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.75rem;
  max-width: min(42rem, 100%);
  margin: 0 auto;
}

.cookie-consent__text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--pico-muted-color, #a8a8b0);
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 0.75rem;
}

@media (min-width: 640px) {
  .cookie-consent__inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .cookie-consent__text {
    flex: 1 1 auto;
    min-width: 0;
  }

  .cookie-consent__actions {
    flex-shrink: 0;
  }
}
/* Global donate dialog — above cookie strip (1100) and footer; reuses .modal from virtual_runes */

.modal.donate-modal {
  z-index: 1200;
}

body.donate-modal-open {
  overflow: hidden;
}

body.donate-modal-open .header,
body.donate-modal-open main,
body.donate-modal-open .footer,
body.donate-modal-open .cookie-consent {
  pointer-events: none;
  user-select: none;
}

body.donate-modal-open .donate-modal,
body.donate-modal-open .donate-modal * {
  pointer-events: auto;
  user-select: auto;
}

.donate-modal__panel {
  position: relative;
  z-index: 1;
  width: min(26rem, calc(100vw - 2rem));
  max-height: min(90dvh, calc(100vh - 2rem));
  overflow-y: auto;
  margin: auto;
  padding: 1.35rem 1.15rem 1.25rem;
  padding-top: 2.5rem;
  background: var(--pico-card-background-color);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-card-box-shadow);
  border: 1px solid rgba(125, 90, 46, 0.18);
  text-align: left;
  -webkit-overflow-scrolling: touch;
}

.donate-modal__header {
  margin-bottom: 0.85rem;
  text-align: left;
}

.donate-modal__title {
  margin: 0;
  padding-right: 1.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: var(--pico-color);
}

.donate-modal__lead {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--pico-muted-color);
}

.donate-modal__prose {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--pico-color);
}

.donate-modal__prose p {
  margin: 0 0 0.65rem;
}

.donate-modal__prose p:last-child {
  margin-bottom: 0;
}

@media (min-width: 1025px) {
  .donate-modal__title {
    font-size: var(--my-desktop-h2);
  }

  .donate-modal__lead,
  .donate-modal__prose {
    font-size: var(--my-desktop-body);
  }
}
/*
 * Unified page appearance – applied to all content pages
 * Mobile-first, safe-area aware, a11y-compliant
 */

/* Content width limit – applied to all pages, prevents stretch on large screens */
.content-width {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1025px) {
  .content-width {
    max-width: var(--page-max-width-wide);
  }
}

/* Main + container when page is present */
main:has(.page) {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* Higher specificity than plain `main` — keeps titles below fixed header regardless of CSS order */
  padding-top: calc(var(--app-header-height) + var(--app-header-content-gap));
  padding-left: max(0.5rem, env(safe-area-inset-left));
  padding-right: max(0.5rem, env(safe-area-inset-right));
  /* Was 1rem — content scrolled under fixed footer; match --main-footer-clearance (see variables.css) */
  padding-bottom: var(--main-footer-clearance);
}

main .container:has(.page) {
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  max-width: 100%;
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
  margin-left: auto;
  margin-right: auto;
}

/* Base page – no Pico article card styling, fits viewport */
article.page,
.page {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  padding: 0;
  padding-top: 0.75rem;
  background: transparent;
  box-shadow: none;
}

.page__title {
  flex-shrink: 0;
  margin: 0 0 var(--page-title-gap);
}

/* Serif page titles – same rhythm as journal / translate / book */
.page__title--serif {
  font-family: var(--font-app-serif);
  font-size: clamp(1.4rem, 4.2vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
  color: var(--pico-color);
  text-align: center;
  width: 100%;
}

/* Content area – top-aligned (same as non-.page views) */
.page__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  text-align: center;
  padding-top: 0.25rem;
}

.page__content--prose {
  text-align: left;
  max-width: min(var(--page-prose-max-width), 100%);
  margin: 0 auto;
  align-items: stretch;
}

@media (min-width: 768px) {
  main:has(.page) {
    padding-left: max(1.5rem, env(safe-area-inset-left));
    padding-right: max(1.5rem, env(safe-area-inset-right));
  }

  main .container:has(.page) {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 1025px) {
  main:has(.page) {
    padding-left: var(--main-desktop-padding-x);
    padding-right: var(--main-desktop-padding-x);
    padding-bottom: var(--main-desktop-padding-bottom);
  }

  main .container:has(.page) {
    max-width: var(--page-max-width-wide);
  }

  main .container:has(.rune-details--encyclopedia, .rune-details--daily, .journal, .translate) {
    max-width: var(--page-max-width-narrow);
  }

  /* Book: two cards side by side on desktop — needs wider column */
  main .container:has(.book) {
    max-width: var(--page-max-width-wide);
  }

  /* Futhark: wide grid + large rune images (overrides generic .page container width) */
  main .container:has(.futhark-page) {
    max-width: min(var(--page-max-width-futhark), 100%);
  }

  .page {
    padding-top: var(--page-desktop-padding-top);
    font-size: var(--my-desktop-body);
  }

  .page__title {
    margin: 0 0 var(--page-desktop-title-margin-bottom);
    font-size: var(--my-desktop-h1);
  }

  .page__title--serif {
    font-size: var(--my-desktop-h1);
    margin-bottom: var(--page-desktop-title-margin-bottom);
  }

  .page__content {
    padding-top: 0;
  }

  /* Prose: p, li, etc. inherit page font-size (13px); headings override */
  .page__content--prose p,
  .page__content--prose li {
    font-size: var(--my-desktop-body);
  }

  .page__content--prose h1 {
    font-size: var(--my-desktop-h1);
  }

  .page__content--prose h2 {
    font-size: var(--my-desktop-h2);
  }

  .page__content--prose h3 {
    font-size: var(--my-desktop-h3);
  }
}
.done, .doing, .planned {
    padding: 0.25rem;
  }
  
  .done {
    color: grey;
  }
  
  .doing {
    color: black;
    font-weight: 600;
  }
  
  .done::before {
   content: '✔️';
   font-size: 1rem;
   margin: 0.5rem;
  }
  
  .doing::before {
  
   content: '⚙️';
   color: green;
   font-size: 1rem;
   margin: 0.5rem;
  
  }
  
  .planned::before {
   content: '📅';
   font-size: 1rem;
   margin: 0.5rem;
  }

@media (min-width: 1025px) {
  .check-list li,
  .done, .doing, .planned {
    font-size: var(--my-desktop-body);
  }

  .done::before,
  .doing::before,
  .planned::before {
    font-size: var(--my-desktop-body);
  }
}
.rune-flipper {
  width: 100%;
}

.center-screen {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

@media (min-width: 480px) {
  .center-screen {
    gap: 0.75rem;
  }
}

@media (min-width: 768px) {
  .center-screen {
    gap: 1rem;
  }
}

.flip-container {
  flex: 1 1 0;
  min-width: 80px;
  max-width: var(--flipper-tile-max);
  perspective: 1000px;
}

.flipper {
  display: block;
  position: relative;
  width: 100%;
  min-height: 44px; /* Touch target */
  aspect-ratio: 1;
  transform-style: preserve-3d;
  transition: transform 0.6s ease;
  cursor: pointer;
}

.flipper:focus-visible {
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .flipper {
    transition-duration: 0.01ms;
  }
}

/* Rune images – fill tile; 100% from 480px+ (was 80% cap, glyphs looked tiny) */
.flipper img {
  max-width: 92%;
  max-height: 92%;
  width: auto;
  height: auto;
  object-fit: contain;
  flex-shrink: 0;
  background: transparent;
  background-color: transparent;
  display: block;
}

.front,
.back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  backface-visibility: hidden;
  border-radius: var(--pico-border-radius);
  background: transparent;
}

.back {
  transform: rotateY(180deg);
}

.flipper.is-flipped {
  transform: rotateY(180deg);
}

.rotated {
  transform: rotate(180deg);
}

.rune-name {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.25;
  text-align: center;
}

@media (min-width: 1025px) {
  .rune-name {
    font-size: var(--my-desktop-body);
  }
}

@media (min-width: 480px) {
  .flipper img {
    max-width: 100%;
    max-height: 100%;
  }
}
.separator {
  display: flex;
  align-items: center;
  text-align: center;
  font-style: italic;
  margin: 2rem;
}

.separator::before,
.separator::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #000;
  border-color: Gainsboro;
}

.separator:not(:empty)::before {
  margin-right: .25em;
}

.separator:not(:empty)::after {
  margin-left: .25em;
}
/*
 * Pico CSS theme override
 * Preserves app color gamma, integrates with Pico
 * Mobile-first, accessibility via Pico
 */

/* Literata replaces Pico’s system-ui stack site-wide */
:root {
  --pico-font-family: var(--font-app-serif);
  /* Pico uses this for some controls; align with Literata so UI matches titles */
  --pico-font-family-sans-serif: var(--font-app-serif);
}

/* Headings + title utilities — explicit family (covers Pico order and class-only “titles”) */
h1,
h2,
h3,
h4,
h5,
h6,
.page__title,
.page__title--serif,
.el-title,
.title,
.subtitle,
.virtual-runes__hint-title,
.translate__panel-heading,
.translate__results-heading,
.book__section-heading {
  font-family: var(--font-app-serif);
}

/* ===== Skip link (accessibility) ===== */
.skip-link {
  position: absolute;
  top: -100px;
  left: 0.5rem;
  z-index: 100;
  padding: 0.5rem 1rem;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  border-radius: var(--pico-border-radius);
  font-weight: 500;
  text-decoration: none;
  transition: top 0.2s ease;
}

.skip-link:focus {
  top: 0.5rem;
  outline: 2px solid var(--pico-primary-focus);
  outline-offset: 2px;
}

/* ===== App color palette – warm brown accent for runes theme ===== */
/* Light UI only — html has data-theme="light" (see application layout) */
html[data-theme="light"],
:root {
  --pico-primary: var(--my-accent, #7d5a2e);
  --pico-primary-hover: var(--my-accent-hover, #5e4122);
  --pico-primary-hover-background: var(--my-accent, #7d5a2e);
  --pico-primary-focus: var(--my-accent-focus, rgba(125, 90, 46, 0.30));
  /* Override Pico's blue link-underline variables */
  --pico-primary-underline: rgba(125, 90, 46, 0.40);
  --pico-primary-hover-underline: var(--my-accent-hover);
  /* Keep blue text-selection out */
  --pico-text-selection-color: rgba(125, 90, 46, 0.18);
  --pico-card-background-color: #fdfbf8;
}

/* ===== Text selection ===== */
::selection {
  background-color: rgba(125, 90, 46, 0.18);
  color: inherit;
}

/* ===== Global link color – override Pico's default blue on all bare <a> ===== */
a:not(.button):not([role="button"]):not(.header__link):not(.header__logo) {
  color: var(--pico-primary);
}

a:not(.button):not([role="button"]):not(.header__link):not(.header__logo):visited {
  color: var(--pico-primary);
}

a:not(.button):not([role="button"]):not(.header__link):not(.header__logo):hover {
  color: var(--pico-primary-hover);
}

/* ===== Page fits viewport – no horizontal overflow, scroll when needed ===== */
html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  /* Anchor / deep links: keep headings below fixed header when scrolling */
  scroll-padding-top: calc(var(--app-header-height) + 0.35rem);
}

/* ===== Body grid layout (app-specific) – safe-area for notched devices ===== */
body {
  display: grid;
  grid-template-areas: "header" "main" "footer";
  /* Header is position:fixed — row height 0 avoids double vertical offset; main padding clears the bar */
  grid-template-rows: 0 minmax(0, 1fr) minmax(3.5rem, auto);
  min-height: 100vh;
  min-height: 100dvh; /* Dynamic viewport – avoids mobile address bar jump */
  min-width: 0; /* Prevent grid blowout */
  margin: 0;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  overflow-x: clip;
}

header.header {
  grid-area: header;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}

main {
  grid-area: main;
  min-width: 0;
  min-height: 0;
  overflow-x: clip;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* Smooth scroll on iOS */
  text-align: center;
  padding-top: calc(var(--app-header-height) + var(--app-header-content-gap));
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: max(5rem, calc(3.5rem + env(safe-area-inset-bottom))); /* Footer height + safe area */
  background-color: #faf7f2;
}

footer {
  grid-area: footer;
}

/* ===== Footer gradient ===== */
.footer {
  background: var(--my-gradient) !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* ===== Container: center content, no white box ===== */
main .container {
  text-align: center;
  width: 100%;
  background: transparent;
}

/* ===== Flash: readable on main (#faf7f2) – do not use Pico del/ins pairs (poor contrast here) ===== */
.flash-messages {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 0.75rem;
  text-align: center;
}

.flash-messages .alert,
.flash-messages .notice {
  display: block;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  box-sizing: border-box;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}

/* Alerts often carry full sentences — wider than auth card; notices can stay compact */
.flash-messages .alert {
  max-width: min(36rem, 100%);
  text-wrap: balance;
}

.flash-messages .notice {
  max-width: min(22rem, 100%);
}

.alert,
main .container .alert,
.flash-messages .alert {
  background-color: var(--my-auth-error-bg);
  color: var(--my-auth-error-text);
  border: 1px solid var(--my-auth-error-border);
  border-left: 4px solid var(--my-auth-error-accent);
}

.notice,
main .container .notice,
.flash-messages .notice {
  background-color: var(--my-flash-notice-bg);
  color: var(--my-flash-notice-text);
  border: 1px solid var(--my-flash-notice-border);
  border-left: 4px solid #5a8f4a;
}

/* Pico/other [role=alert] outside .flash-messages still need readable defaults */
[role="alert"]:not(.alert) {
  background-color: var(--my-auth-error-bg);
  color: var(--my-auth-error-text);
  border: 1px solid var(--my-auth-error-border);
  border-left: 4px solid var(--my-auth-error-accent);
  padding: 0.75rem 1rem;
  border-radius: var(--pico-border-radius);
}

/* Optional outline style (links, secondary actions) */
a.button--secondary,
button.button--secondary,
.button.button--secondary {
  color: var(--btn-secondary-fg);
  background-color: var(--btn-secondary-bg);
  border: 2px solid var(--btn-secondary-border);
}

a.button--secondary:hover,
button.button--secondary:hover,
.button.button--secondary:hover {
  color: var(--btn-secondary-fg);
  background-color: var(--btn-secondary-hover-bg);
  border-color: var(--btn-secondary-hover-border);
}

a.button--secondary:focus-visible,
button.button--secondary:focus-visible,
.button.button--secondary:focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--btn-focus-ring);
}

/* ===== App-specific: .button — shared tokens (variables.css --btn-*) ===== */
a.button,
input.button,
button.button,
.button,
input.auth-button,
button.auth-button,
form.auth-button button,
form.auth-button input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  font-size: 1rem;
  font-weight: 500;
  color: var(--btn-primary-text);
  background-color: var(--btn-primary-bg);
  border: 2px solid var(--btn-primary-border);
  border-radius: var(--pico-border-radius);
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color var(--pico-transition),
    border-color var(--pico-transition),
    color var(--pico-transition);
}

a.button:hover,
.button:hover,
input.auth-button:hover,
button.auth-button:hover,
form.auth-button button:hover {
  color: var(--btn-primary-text);
  background-color: var(--btn-primary-hover-bg);
  border-color: var(--btn-primary-hover-border);
  opacity: 1;
}

a.button:focus-visible,
.button:focus-visible,
input.auth-button:focus-visible,
button.auth-button:focus-visible,
form.auth-button button:focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--btn-focus-ring);
}

@media (min-width: 1025px) {
  a.button,
  input.button,
  button.button,
  .button,
  input.auth-button,
  button.auth-button,
  form.auth-button button {
    /* Padding uses --pico-form-element-* inherited from `main` */
    min-height: var(--form-button-min-height-desktop);
    font-size: var(--my-desktop-body);
  }
}

/* ===== Typography helpers ===== */
.accent-color,
.link-blue {
  color: var(--pico-primary) !important;
}

/* Prose links already covered by the global rule above */

.center-pages {
  background-color: #fdfbf8;
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-card-box-shadow);
  padding: 1.5rem;
}

@media (min-width: 768px) {
  main {
    padding-top: calc(var(--app-header-height) + var(--app-header-content-gap));
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 5rem;
  }
}

@media (min-width: 1025px) {
  main {
    padding-top: calc(var(--app-header-height) + var(--app-header-content-gap));
    padding-left: var(--main-desktop-padding-x);
    padding-right: var(--main-desktop-padding-x);
    padding-bottom: var(--main-desktop-padding-bottom);
    /* Tighter text fields + default Pico buttons inside main (inherits to descendants) */
    --pico-form-element-spacing-vertical: var(--form-spacing-y-desktop);
    --pico-form-element-spacing-horizontal: var(--form-spacing-x-desktop);
  }

  /* Pico fixes input height with root `1rem`; use `1em` so size tracks field font */
  main input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="hidden"], [type="submit"], [type="button"], [type="reset"]) {
    height: auto;
    min-height: calc(1em * var(--pico-line-height, 1.5) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
    font-size: var(--my-desktop-body);
  }

  main select,
  main textarea {
    font-size: var(--my-desktop-body);
  }

  main :is(button, [type="submit"], [type="reset"], [type="button"]) {
    font-size: var(--my-desktop-body);
  }
}

/* ===== Flash padding ===== */
.alert,
.notice {
  padding: 0.875rem 1rem 0.875rem 1rem;
  border-radius: var(--pico-border-radius);
  margin: 0 0 0.75rem;
}

.flash-messages .alert:last-child,
.flash-messages .notice:last-child {
  margin-bottom: 0;
}

.flash-messages a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.flash-messages a:focus-visible {
  outline: 2px solid var(--my-accent-focus);
  outline-offset: 2px;
}

@media (min-width: 1025px) {
  .alert,
  .notice {
    padding: var(--surface-padding-y-desktop) var(--surface-padding-x-desktop);
    margin-bottom: var(--surface-gap-desktop);
  }

  .flash-messages .alert,
  .flash-messages .notice {
    font-size: var(--my-desktop-body);
  }
}

/* Pin light UI for Pico + form controls (ignore OS prefers-color-scheme: dark) */
html[data-theme="light"] {
  color-scheme: light;
}

/*
 * Compiled order is top-to-bottom. Do not use @import here — Sprockets places require_self
 * after require_tree, so @import would appear mid-file and browsers ignore it.
 *
 * Pico v2 (vendor copy) — refresh from:
 *   https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css
 *






















 */

.title {
  font-size: 1.5rem;
  font-weight: bold;
}

.subtitle {
  font-size: 1.3rem;
  font-weight: bold;
}

@media (min-width: 1025px) {
  .title {
    font-size: var(--my-desktop-h1);
  }

  .subtitle {
    font-size: var(--my-desktop-h2);
  }
}

.buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem;
}

@media (min-width: 1025px) {
  .buttons {
    margin: 1rem;
  }
}
@media (min-width: 1025px) {
  .mobileonly {
    display: none;
  }
}
