:root{color-scheme:light;--navy:#10355e;--orange:#ec5b21;--ink:#143252;--muted:#526477;--border:#d9e1e7;--app-height:100dvh;--header-height:80px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:transparent}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #eea66e;outline-offset:2px}a{color:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.reader{height:var(--app-height);width:100%;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr)}
.toolbar{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(380px,1fr);grid-template-areas:'brand contents tools';align-items:center;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--border)}
.brand-block{grid-area:brand;min-width:0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:20px;white-space:nowrap;letter-spacing:-.35px}.brand-mark{width:4px;height:32px;border-radius:3px;background:var(--orange);flex-shrink:0}.guide-author{margin:2px 0 0 14px;font-size:12px;line-height:1.35;color:var(--muted);white-space:nowrap}
.contents-button,.website-return{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 16px;border-radius:8px;background:var(--navy);color:white;font-size:16px;font-weight:700;white-space:nowrap;text-decoration:none}.contents-button{grid-area:contents}.contents-button .index-icon{color:var(--orange);width:23px;height:23px}.index-icon circle{fill:currentColor;stroke:none}.contents-button:hover,.website-return:hover{background:#1a4a78}.website-return{position:absolute;left:16px;top:calc(var(--header-height) + 16px);z-index:4;font-size:16px;min-width:174px}
.paging{grid-area:paging;display:flex;align-items:center;gap:4px}.page-counter{min-height:44px;min-width:64px;border:1px solid var(--border);border-radius:8px;padding:0 8px;white-space:nowrap;font-size:15px;font-variant-numeric:tabular-nums}#page-total{color:var(--muted)}
.side-arrow{position:absolute;top:calc(var(--header-height) + var(--arrow-top,50vh));display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;z-index:4}.side-arrow svg{width:28px;height:28px;stroke-width:2.6}.side-previous{left:var(--prev-left,20px)}.side-next{right:var(--next-right,20px)}.side-arrow:hover:not(:disabled){background:#1a4a78}.side-arrow:disabled{opacity:1;background:#edf1f5;color:#9aafc2;box-shadow:inset 0 0 0 1px #d6e0e8}
.zoom-controls{grid-area:zoom;display:flex;height:44px;flex-shrink:0;border:1px solid var(--navy);border-radius:8px;overflow:hidden;background:#fff}.zoom-controls button{height:42px;min-width:44px;padding:0 7px;font-size:25px;font-weight:700}.zoom-controls button:hover:not(:disabled){background:#edf3f7}#zoom-reset{border-inline:1px solid var(--border);min-width:68px;font-size:14px;font-variant-numeric:tabular-nums}
.language-label{grid-area:language;display:block;min-width:0}.language-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-control{display:block;position:relative;width:138px}.language-control select{appearance:none;-webkit-appearance:none;width:100%;height:44px;border:2px solid var(--navy);border-radius:8px;background:#fff;font-weight:700;font-size:15px;padding:0 31px 0 44px;cursor:pointer}.language-flag{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:27px;pointer-events:none}.language-flag svg{display:none;width:27px;height:auto;stroke:none;border:1px solid #adbbc8;border-radius:2px}html[lang=fi] .flag-fi,html[lang=sv] .flag-sv,html[lang=en] .flag-en{display:block}.language-chevron{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:21px;height:21px;stroke-width:3;pointer-events:none}
.reading-area{min-height:0;min-width:0;position:relative}.stage{height:100%;width:100%;position:relative;overflow:auto;display:flex;padding:14px 80px;background:#fff;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-gutter:auto;isolation:isolate}.paper{position:relative;flex-shrink:0;align-self:flex-start;margin:auto;background:#fff;box-shadow:0 0 0 1px #e4e7ea;visibility:hidden}.paper.ready{visibility:visible}.paper img{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}.page-links{position:absolute;inset:0}.page-link{position:absolute;display:block;cursor:pointer;border-radius:2px}.page-link:hover{background:#1a5c9c12;box-shadow:inset 0 0 0 1px #1a5c9c5c}.page-link:focus-visible{outline:2px solid var(--orange);outline-offset:1px;background:#ffb66e24}.stage.wide-paper .paper{margin-block:0}.load-state{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:14px;color:var(--muted);pointer-events:none;white-space:nowrap}.error-state{position:absolute;inset:20px;background:white;border:1px solid var(--border);border-radius:10px;padding:24px;text-align:center;z-index:3}.error-state button{background:var(--navy);color:#fff;border-radius:8px;padding:12px 20px} [hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:pre-wrap;border:0}
dialog{border:1px solid var(--border);border-radius:14px;padding:0;width:min(560px,calc(100vw - 24px));max-height:85dvh;color:var(--ink);background:#fff;box-shadow:0 24px 90px #06274940}dialog::backdrop{background:#0b25495c}.dialog-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;padding:10px 16px;border-bottom:1px solid var(--border);z-index:1}.dialog-header h1{font-size:19px;margin:0}.icon-button{min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px}.page-list{display:flex;flex-direction:column;padding:8px}.page-list button{display:flex;align-items:center;text-align:left;gap:14px;padding:11px 12px;border-radius:7px;min-height:44px;font-size:15px}.page-list button span{color:var(--orange);font-size:13px;min-width:23px;font-weight:700}.page-list button:hover,.page-list button[aria-current=page]{background:#edf3f7}.page-list button[aria-current=page]{font-weight:700}.dialog-credits{display:block;margin:0 20px 16px;padding:10px 0;text-decoration:underline;font-size:13px;min-height:44px}.credits-content{padding:6px 20px 20px;line-height:1.5;font-size:15px}.credits-content section+section{border-top:1px solid var(--border);margin-top:20px;padding-top:10px}.credits-content h2{font-size:17px}.credit-links{display:flex;flex-wrap:wrap;gap:6px 18px}.credit-links a{overflow-wrap:anywhere;padding:4px 0}
@media(max-width:1099px){
 .toolbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand language' 'home contents' 'paging zoom';gap:4px 8px;padding:5px 8px 8px}.brand{font-size:17px}.guide-author{font-size:12px}.contents-button{justify-self:stretch;font-size:15px}.website-return{grid-area:home;position:static;min-width:0;font-size:15px}.paging{justify-self:start}.page-counter{border:0;min-width:56px}.side-arrow{position:static;width:44px;height:44px;flex-shrink:0}.side-arrow svg{width:24px;height:24px}.zoom-controls{justify-self:end}.language-label{justify-self:end}.stage{padding:8px;display:block}.paper{margin-inline:auto;margin-block:0}
}
@media(min-width:601px) and (max-width:1099px){.toolbar{grid-template-columns:minmax(230px,1fr) auto auto;grid-template-areas:'brand contents language' 'home paging zoom';gap:6px 12px}.contents-button{font-size:15px}.website-return{justify-self:start;min-width:174px}.paging{justify-self:center}.guide-author{font-size:12px}.stage{padding:8px}}
@media(max-width:600px){.brand{font-size:15px;gap:7px;letter-spacing:-.35px}.brand-mark{width:3px;height:29px}.guide-author{font-size:10.5px;margin-left:10px;line-height:1.25}.language-control{width:118px}.language-control select{font-size:13px;padding-left:37px;padding-right:25px}.language-flag,.language-flag svg{width:23px}.language-flag{left:8px}.language-chevron{width:18px;right:6px}.contents-button{padding:0 9px;font-size:13px;gap:6px}.contents-button .index-icon{width:19px;height:19px}.website-return{font-size:14px;padding:0 10px}.toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.52fr)}.brand-block{grid-column:1/-1;grid-row:1;padding-right:126px}.language-label{grid-column:2;grid-row:1}.paging{gap:2px}.page-counter{font-size:13px;min-width:48px;padding:0 3px}.zoom-controls button{min-width:44px}#zoom-reset{min-width:60px;font-size:13px}}
@media(max-width:359px){.brand{font-size:12.5px;gap:5px}.guide-author{font-size:10px;margin-left:8px;white-space:normal}.author-role{display:block}.author-separator{display:none}.contents-button{font-size:12px;padding-inline:6px;gap:5px}.contents-button .index-icon{width:16px}.website-return{font-size:12px;padding-inline:6px}.paging{gap:0}.page-counter{min-width:40px;font-size:12px}.zoom-controls button{min-width:44px}#zoom-reset{min-width:49px;padding:0 4px;font-size:12px}}
@media print{html,body{overflow:visible;height:auto}.reader{display:block;height:auto}.toolbar{display:none}.stage{display:block;overflow:visible;padding:0}.paper{width:100%!important;height:auto!important;visibility:visible}.paper img{height:auto}.page-links{display:none}}

.header-tools{grid-area:tools;display:flex;align-items:center;justify-self:end;gap:12px}@media(max-width:1099px){.header-tools{display:contents}}

/* Finnish return label wraps without changing other language controls. */
html[lang=fi] #website-return{white-space:normal;text-wrap:balance;text-align:center;line-height:1.25;padding-block:6px;max-width:240px}
