/* Sailwork accessibility panel: plain CSS, no third-party code. Preferences live in this browser only. */
.a11y-btn{position:fixed;left:16px;bottom:16px;z-index:70;width:56px;height:56px;padding:0;border:3px solid #fff8ef;border-radius:50%;background:#15171c;color:#fff8ef;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 14px #15171c66;font:inherit}
.a11y-btn.a11y-r{left:auto;right:16px}
.a11y-btn svg{width:32px;height:32px;display:block}
.a11y-btn:hover{background:#2b2f38}
.a11y-btn:focus-visible,.a11y-panel :is(button,a):focus-visible{outline:3px solid #ffd84a;outline-offset:2px;box-shadow:0 0 0 5px #15171c}
.a11y-panel{position:fixed;left:0;top:0;bottom:0;z-index:71;width:min(400px,100vw);display:flex;flex-direction:column;box-sizing:border-box;background:#f6e6d2;color:#15171c;border-right:3px solid #15171c;box-shadow:6px 0 32px #15171c66;font:400 16px/1.35 Arial,Helvetica,sans-serif;text-align:left}
.a11y-panel.a11y-r{left:auto;right:0;border-right:0;border-left:3px solid #15171c;box-shadow:-6px 0 32px #15171c66}
.a11y-panel[hidden]{display:none}
.a11y-panel *{box-sizing:border-box;font-family:inherit;letter-spacing:normal!important;word-spacing:normal!important;text-transform:none;text-align:left;line-height:1.3!important;cursor:auto;text-shadow:none!important}
.a11y-panel :is(button,a){cursor:pointer}
.a11y-head{background:#15171c;color:#fff8ef;padding:14px 16px 14px;flex:none}
.a11y-title{margin:0 0 10px;font-size:20px!important;font-weight:700;text-align:center!important;color:#fff8ef}
.a11y-hbtns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.a11y-head :is(button,a){font:700 15px Arial,Helvetica,sans-serif;color:#15171c;background:#fff8ef;border:2px solid #fff8ef;border-radius:999px;padding:9px 16px;min-height:44px;min-width:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.a11y-head :is(button,a):hover{background:#ffd84a}
.a11y-body{flex:1;overflow:auto;padding:8px 14px 12px;-webkit-overflow-scrolling:touch}
.a11y-sec{margin:12px 0 18px;padding:0}
.a11y-sh{margin:0 0 4px;font-size:18px!important;font-weight:700;color:#15171c}
.a11y-sd{margin:6px 0 6px;font-size:14px!important;color:#4a4638}
.a11y-row,.a11y-step,.a11y-seg button{border:2px solid #15171c;background:#fffdf7;color:#15171c;border-radius:10px;font:600 15px Arial,Helvetica,sans-serif}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:10px 14px;margin:0 0 8px;cursor:pointer}
.a11y-row:hover,.a11y-seg button:hover{background:#fff1d8}
.a11y-state{font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;border:2px solid #15171c;min-width:44px;text-align:center!important;background:#fff}
.a11y-row[aria-pressed=true]{background:#15171c;color:#fff8ef}
.a11y-row[aria-pressed=true] .a11y-state{background:#ffd84a;color:#15171c;border-color:#ffd84a}
.a11y-step{display:flex;align-items:stretch;gap:0;margin:0 0 8px;overflow:hidden}
.a11y-step button{flex:none;width:52px;min-height:52px;border:0;background:#15171c;color:#fff8ef;font:700 24px Arial,sans-serif;cursor:pointer;text-align:center!important;padding:0}
.a11y-step button:disabled{background:#8a8676;cursor:not-allowed}
.a11y-step button:not(:disabled):hover{background:#d6361d}
.a11y-stepv{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px}
.a11y-stepl{font-size:13px;color:#4a4638}
.a11y-stepn{font-size:16px;font-weight:700}
.a11y-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
.a11y-seg button{min-height:46px;padding:8px 10px;cursor:pointer;text-align:center!important}
.a11y-seg button[aria-pressed=true]{background:#15171c;color:#fff8ef;border-color:#15171c;box-shadow:inset 0 0 0 3px #ffd84a}
.a11y-foot{flex:none;display:flex;gap:10px;justify-content:space-between;padding:12px 14px 6px;background:#15171c}
.a11y-foot button{font:700 15px Arial,Helvetica,sans-serif;color:#fff8ef;background:transparent;border:2px solid #fff8ef;border-radius:10px;min-height:46px;padding:8px 14px;cursor:pointer;text-align:center!important}
.a11y-foot button:hover{background:#2b2f38}
.a11y-note{flex:none;margin:0;padding:4px 14px 12px;background:#15171c;color:#e8e0cf;font-size:12.5px!important;text-align:center!important}
.a11y-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-note{left:84px;width:min(410px,calc(100vw - 96px))}
@media(max-width:480px){.a11y-panel{width:100vw;border-right:0}.a11y-btn{width:52px;height:52px}.site-note{left:76px;width:calc(100vw - 88px)}}

/* text size: two steps, on top of the page's own rem sizes */
html.a11y-t1{font-size:112.5%}
html.a11y-t2{font-size:125%}
html.a11y-t3{font-size:150%}
html.a11y-t1 body,html.a11y-t2 body,html.a11y-t3 body{font-size:1.125rem}
html.a11y-t1 .rail,html.a11y-t2 .rail,html.a11y-t3 .rail{font-size:.58rem;letter-spacing:.04em}

/* readable font */
html.a11y-font{--disp:Verdana,Tahoma,Arial,sans-serif;--serif:Verdana,Tahoma,Arial,sans-serif;--mono:Verdana,Tahoma,Arial,sans-serif;--hand:Verdana,Tahoma,Arial,sans-serif}
html.a11y-font body{letter-spacing:.01em}
html.a11y-font :is(h1,h2,h3,h4){letter-spacing:0;text-transform:none}

/* line, letter and word spacing */
html.a11y-lh1 body :is(p,li,td,summary,label,small,span,em,strong,input,textarea):not(.a11y-panel *){line-height:1.6!important}
html.a11y-lh2 body :is(p,li,td,summary,label,small,span,em,strong,input,textarea):not(.a11y-panel *){line-height:2!important}
html.a11y-ls1 body :is(p,li,td,summary,label,small,span,em,strong,a,button):not(.a11y-panel *){letter-spacing:.05em!important}
html.a11y-ls2 body :is(p,li,td,summary,label,small,span,em,strong,a,button):not(.a11y-panel *){letter-spacing:.12em!important}
html.a11y-ws1 body :is(p,li,td,summary,label,small,span,em,strong,a):not(.a11y-panel *){word-spacing:.16em!important}
html.a11y-ws2 body :is(p,li,td,summary,label,small,span,em,strong,a):not(.a11y-panel *){word-spacing:.35em!important}
html.a11y-lh1 body :is(h1,h2,h3,h4),html.a11y-lh1 body :is(h1,h2,h3,h4) :is(span,em,strong,a),html.a11y-lh2 body :is(h1,h2,h3,h4),html.a11y-lh2 body :is(h1,h2,h3,h4) :is(span,em,strong,a){line-height:1.25!important}
html.a11y-left main :is(p,li,h1,h2,h3,h4,div,summary){text-align:left!important}
html.a11y-heads :is(h1,h2,h3,h4){outline:3px solid #2440c8;outline-offset:4px;background-color:rgba(255,216,74,.4)}
html.a11y-noimg :is(img,picture,video,canvas){visibility:hidden!important}
html.a11y-hover body :is(p,li,h1,h2,h3,h4,a,button,summary,label,td,figcaption):hover{outline:3px solid #ffd84a;outline-offset:2px;background-color:rgba(255,216,74,.35)}
html.a11y-focus :focus-visible{outline:4px solid #ffd84a!important;outline-offset:3px!important;box-shadow:0 0 0 7px #000!important}
html.a11y-invert :is(img,picture,video,canvas,.a11y-guide){filter:invert(1) hue-rotate(180deg)}
html.a11y-dark body.dark{--ink:#000;--soft:#000;--rule:#000;--red:#a40000;background:#fff!important;color:#000!important}
html.a11y-dark .bar,html.a11y-dark body.dark .bar{background:#fff!important;color:#000!important;border-color:#000}
html.a11y-dark .end{background:#fff!important;color:#000!important}
html.a11y-dark .end *{color:#000}
html.a11y-dark main .scene{background:#fff}
html.a11y-dark main .scene *{color:#000!important}
html.a11y-dark .lang a[aria-current=true]{background:#000;color:#fff}
.a11y-guide{position:fixed;left:0;right:0;height:6px;background:#ffd84a;border-top:2px solid #000;border-bottom:2px solid #000;z-index:65;pointer-events:none}
.a11y-mask{position:fixed;left:0;right:0;background:rgba(0,0,0,.72);z-index:65;pointer-events:none}
.a11y-m1{top:0}.a11y-m2{bottom:0}
.a11y-guide[hidden],.a11y-mask[hidden]{display:none}

/* underline links */
html.a11y-links a{text-decoration:underline!important;text-underline-offset:.18em;text-decoration-thickness:2px}

/* stop animations */
html.a11y-motion{scroll-behavior:auto!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-motion .rv{opacity:1!important;transform:none!important}

/* larger cursor */
html.a11y-cursor,html.a11y-cursor body,html.a11y-cursor :is(a,button,summary,label,[role=button],input,select,textarea){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath d='M3 2l16 9-7 2 4 8-3 1-4-8-5 5z' fill='%23000' stroke='%23fff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") 3 2,auto!important}

/* high contrast: black on white, white on black for the two dark chapters */
html.a11y-contrast body{--paper:#fff;--ink:#000;--soft:#000;--rule:#000;--sheet:#fff;--sheet-ink:#000;--sheet-soft:#000;--sheet-rule:#000;--red:#a40000;--green:#004d00;--blue:#0000b3;background:#fff!important;color:#000!important}
html.a11y-contrast:not(.a11y-dark) body.dark{--ink:#fff;--soft:#fff;--rule:#fff;--red:#ff9a85;background:#000!important;color:#fff!important}
html.a11y-contrast body::before{display:none}
html.a11y-contrast :is(p,li,span,small,em,strong,summary,label,td,th,h1,h2,h3,h4,time){opacity:1!important}
html.a11y-contrast .bar{background:#fff!important;color:#000!important;border-bottom:2px solid #000}
html.a11y-contrast:not(.a11y-dark) body.dark .bar{background:#000!important;color:#fff!important;border-color:#fff}
html.a11y-contrast .rail a{opacity:1}
html.a11y-contrast a{color:inherit}
html.a11y-contrast main :is(p,li,span,small,em,strong,summary,label,h1,h2,h3,h4,time,dt,dd){color:var(--ink)}
html.a11y-contrast .sheet,html.a11y-contrast .printer,html.a11y-contrast .roll{background:#fff!important;color:#000!important;border:2px solid #000}
html.a11y-contrast .sheet *,html.a11y-contrast .roll *{color:#000!important}
html.a11y-contrast .btn{border:2px solid currentColor}
html.a11y-contrast .btn.red,html.a11y-contrast .cta-s{background:#a40000!important;color:#fff!important}
html.a11y-contrast .site-note{background:#fff;color:#000;border:2px solid #000}
html.a11y-contrast .site-note button{color:#000}
html.a11y-contrast:not(.a11y-dark) .end{background:#000!important;color:#fff!important}
html.a11y-contrast:not(.a11y-dark) .end *{color:#fff}
html.a11y-contrast:not(.a11y-dark) main .scene *{color:#fff!important;text-shadow:0 0 3px #000,0 0 9px #000}
html.a11y-font :is(h1,h2,h3,h4){line-height:1.2!important}
html.a11y-font h1{font-size:clamp(2.2rem,6vw,4.6rem)}
html.a11y-font :is(h2){font-size:clamp(1.7rem,4vw,3rem)}
html.a11y-contrast .lang a{opacity:1!important;color:inherit}
html.a11y-contrast .lang a[aria-current=true]{background:#000;color:#fff}
html.a11y-contrast:not(.a11y-dark) body.dark .lang a[aria-current=true]{background:#fff;color:#000}

/* fixes from review */
html.a11y-contrast .key.inv,html.a11y-contrast .key.inv *,html.a11y-contrast .mod.on,html.a11y-contrast .mod.on *{color:#fff!important}
html.a11y-contrast .end .call,html.a11y-contrast .end .call *{color:#000!important}
html.a11y-contrast .end .call .btn.red,html.a11y-contrast .end .call .btn.red *{color:#fff!important}
html.a11y-contrast .sheet .approve,html.a11y-contrast .sheet .approve *{color:#fff!important}
html.a11y-contrast .scr-h,html.a11y-contrast .scr-h *{color:#fff!important}
html.a11y-dark body.dark .bar .rail a{color:#000}
html.demo-open .a11y-btn{display:none}
@media(max-width:480px){html.a11y-font .logo{font-size:1.1rem}html.a11y-font .bar{gap:8px}html.a11y-font .cta-s{padding-left:8px;padding-right:8px;font-size:.8rem}html.a11y-t3 .logo,html.a11y-t3 .cta-s{font-size:.85rem}html.a11y-t3 .cta-s{padding-left:8px;padding-right:8px}}

/* cards (v6) */
.a11y-hbtns{flex-wrap:nowrap;gap:6px}
.a11y-head :is(button,a){padding:9px 10px;font-size:14px;flex:1 1 auto;min-width:0;white-space:nowrap}
.a11y-head button[aria-label]{flex:0 0 auto;min-width:48px}
.a11y-sec{margin:6px 0 16px}
.a11y-sh{margin:6px 0 10px;font-size:18px!important}
.a11y-sd{margin:-4px 0 10px}
.a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.a11y-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:116px;padding:16px 10px 14px;border:2px solid #15171c;border-radius:14px;background:#fffdf7;color:#15171c;font:600 15px/1.25 Arial,Helvetica,sans-serif;cursor:pointer;text-align:center!important;box-shadow:0 2px 0 #15171c}
.a11y-card:hover{background:#fff1d8}
.a11y-card .a11y-cl{text-align:center!important;overflow-wrap:anywhere}
.a11y-ic{width:34px;height:34px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a11y-card[aria-pressed=true]{background:#15171c;color:#fff8ef;box-shadow:0 0 0 3px #ffd84a;border-color:#15171c}
.a11y-card[aria-pressed=true]::after{content:"✓";position:absolute;top:7px;right:9px;width:22px;height:22px;border-radius:50%;background:#ffd84a;color:#15171c;font:700 14px/22px Arial,sans-serif;text-align:center}
.a11y-step{grid-column:1/-1;min-height:84px;border-radius:14px;box-shadow:0 2px 0 #15171c}
.a11y-step.a11y-on{box-shadow:0 0 0 3px #ffd84a}
.a11y-step button{width:64px}
.a11y-stepv{gap:4px}
.a11y-stepv .a11y-ic{width:26px;height:26px}
.a11y-stepn{font-size:17px}
@media(max-width:360px){.a11y-head :is(button,a){font-size:13px;padding:9px 7px}}
html.a11y-hc body :is(p,li,span,a,h1,h2,h3,h4,summary,label,button,small,strong,em){font-weight:700}
html.a11y-hc a{text-decoration:underline!important}
html.a11y-hc :is(.btn,.key,.mod,.faq details,input,textarea,select){border:2px solid currentColor!important}
html.a11y-invert :is(.a11y-panel,.a11y-btn){filter:invert(1) hue-rotate(180deg)}
html body .a11y-panel a.a11y-link{color:#15171c}

/* colour pickers */
.a11y-sw{margin:0 0 14px;padding:14px 16px 16px;background:#fffdf7;border:2px solid #15171c;border-radius:14px;box-shadow:0 2px 0 #15171c}
.a11y-sw .a11y-sh{margin:0 0 12px}
.a11y-swrow{display:flex;flex-wrap:wrap;gap:12px}
.a11y-dot{width:48px;height:48px;min-height:48px;padding:0;border:2px solid #fffdf7;border-radius:50%;cursor:pointer;box-shadow:0 0 0 1px #15171c66}
.a11y-dot[aria-pressed=true]{box-shadow:0 0 0 3px #fffdf7,0 0 0 6px #15171c}
.a11y-dot:hover{transform:scale(1.06)}
html.a11y-tcol.a11y-tcol body :is(p,li,span,small,strong,em,summary,label,td,th,dt,dd,time,blockquote,figcaption):not(.a11y-panel *,.btn *,.cta-s *,.approve *,.stamp *,.bar *){color:var(--a11y-tc)!important}
html.a11y-tcol.a11y-tcol body :is(p,li,small,summary,label,td,th,dt,dd,time,blockquote,figcaption):not(.a11y-panel *,.btn *,.cta-s *,.approve *,.stamp *,.bar *){color:var(--a11y-tc)!important}
html.a11y-hcol.a11y-hcol body :is(h1,h2,h3,h4,h1 *,h2 *,h3 *,h4 *):not(.a11y-panel *,.a11y-panel){color:var(--a11y-hc)!important}
html.a11y-bcol.a11y-bcol body,html.a11y-bcol.a11y-bcol body.dark{background:var(--a11y-bc)!important}
html.a11y-bcol.a11y-bcol .bar{background:var(--a11y-bc)!important}
