@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-bold:700;--tracking-tight:-.025em;--radius-sm:.25rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:var(--font-display);--font-body:var(--font-body)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.sticky{position:sticky}.end{inset-inline-end:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}}:root{--surface:#f6f8f9;--surface-sunk:#edf1f3;--surface-raised:#fff;--text:#15191d;--text-muted:#56606a;--text-faint:#56606a;--line:#d9dfe3;--line-strong:#b5bfc6;--line-field:#8c979f;--accent:#0b6e66;--accent-strong:var(--text);--accent-wash:#dcefeb;--accent-line:var(--line-strong);--signal:var(--accent);--signal-ink:#fff;--signal-wash:var(--accent-wash);--halpa-wash:#cfe9e3;--halpa-ink:#0a5a53;--halpa-bar:#5fa99e;--tavallinen-wash:#edf1f3;--tavallinen-ink:#15191d;--tavallinen-bar:#a3afb7;--kallis-wash:#f6dccf;--kallis-ink:#8a3418;--kallis-bar:#d98a63;--danger:#b3261e;--danger-wash:#fbe9e7;--font-display:"Geist", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist", ui-sans-serif, system-ui, sans-serif;--text-2xs:.75rem;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-md:1.1875rem;--text-lg:clamp(1.375rem, 1.15rem + 1vw, 1.75rem);--text-xl:clamp(1.625rem, 1.2rem + 1.9vw, 2.5rem);--text-result:clamp(2.25rem, 1.8rem + 2.6vw, 3.5rem);--text-reading:clamp(3.5rem, 2.6rem + 4vw, 5rem);--lh-display:1.05;--lh-tight:1.2;--lh-body:1.6;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--radius-sm:12px;--radius:12px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:none;--shadow:none;--dur-instant:90ms;--dur-fast:.14s;--dur-base:.2s;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--measure:65ch;--page:49rem;--page-wide:76rem;--tap:2.75rem}@media(prefers-color-scheme:dark){:root{--surface:#0f1316;--surface-sunk:#1f262b;--surface-raised:#171c20;--text:#e8edf0;--text-muted:#9aa6ae;--text-faint:#9aa6ae;--line:#2a3238;--line-strong:#3c464e;--line-field:#5c6870;--accent:#4fb3a8;--accent-wash:#173a37;--signal-ink:#0f1316;--halpa-wash:#1d4540;--halpa-ink:#bfe6df;--halpa-bar:#3e8f84;--tavallinen-wash:#1f262b;--tavallinen-ink:#e8edf0;--tavallinen-bar:#5c6870;--kallis-wash:#4a2a1e;--kallis-ink:#f3c9b6;--kallis-bar:#b86e4c;--danger:#f2948c;--danger-wash:#3a1e1c}}@font-face{font-family:Geist;src:url(/fonts/geist-subset.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}html,body{background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-body);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;margin:0;overflow-x:clip}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{background:var(--accent-wash);color:var(--accent-strong)}.tnum,input[type=number],input[type=text],table,time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,h4{font-family:var(--font-display);font-optical-sizing:auto;font-weight:600;line-height:var(--lh-tight);letter-spacing:-.015em;text-wrap:balance;color:var(--text);margin:0}p{text-wrap:pretty;margin:0}a{color:var(--accent-strong);text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:1px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.skip-link{left:var(--space-sm);top:calc(var(--space-sm) * -4);z-index:10;padding:var(--space-2xs) var(--space-sm);background:var(--accent);color:var(--surface-raised);border-radius:var(--radius-sm);transition:top var(--dur-fast) var(--ease-out);text-decoration:none;position:absolute}.skip-link:focus{top:var(--space-sm)}.shell{max-width:var(--page);padding-inline:var(--space-sm);margin-inline:auto}@media(min-width:40rem){.shell{padding-inline:var(--space-lg)}}.body-pad{padding-inline:0}.masthead{justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--line);min-height:3.75rem;display:flex}.masthead__mark,.masthead__link{min-height:var(--tap);align-items:center;display:inline-flex}.masthead__mark{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.02em;color:var(--text);text-decoration:none}.masthead__mark span,.site-foot__mark span{color:var(--accent)}.masthead__link{font-size:var(--text-sm);color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}.masthead{flex-wrap:wrap}.masthead__nav{gap:var(--space-xs);display:flex}@media(max-width:39.99rem){.masthead__mark{font-size:var(--text-base)}}.masthead__link[aria-current=page]{color:var(--text);text-underline-offset:.35em;text-decoration:underline;text-decoration-thickness:2px}.masthead__link--laaja,.masthead__pitka{display:none}@media(min-width:40rem){.masthead__nav{gap:var(--space-md)}.masthead__link--laaja{display:inline-flex}.masthead__pitka{display:inline}.masthead__lyhyt{display:none}}@media(hover:hover)and (pointer:fine){.masthead__link:hover{color:var(--text)}}.masthead-title{padding-block:var(--space-md) var(--space-sm)}@media(min-width:52rem){.masthead-title{padding-block:var(--space-lg) var(--space-sm)}}.label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-xs);font-weight:600;display:inline-block}.page__title{font-size:var(--text-xl);overflow-wrap:break-word;font-weight:600;line-height:var(--lh-display);letter-spacing:-.025em}.page__lead{margin-top:var(--space-2xs);max-width:var(--measure);font-size:var(--text-base);color:var(--text-muted);line-height:1.45}@media(min-width:52rem){.page__lead{margin-top:var(--space-sm);font-size:var(--text-md)}}.tool{gap:var(--space-sm);margin-bottom:var(--space-sm);display:grid}.tool__fields{gap:var(--space-sm);display:grid}@media(min-width:52rem){.tool__fields{gap:var(--space-md)}}.tool__row{gap:var(--space-2xs);display:grid}.tool__row--2,.tool__row--3{gap:var(--space-sm);grid-template-columns:minmax(0,1fr)}@media(min-width:30rem){.tool__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tool__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}}label,.field-label{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-3xs);font-weight:600;display:block}input[type=number],input[type=text],input[type=date],textarea,select{width:100%;min-height:var(--tap);padding:var(--space-3xs) var(--space-xs);color:var(--text);background:var(--surface-sunk);border:1px solid var(--line-field);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);font-family:inherit;font-size:1rem}input[type=number]:hover,input[type=text]:hover,input[type=date]:hover,textarea:hover,select:hover{border-color:var(--text-muted)}input[type=number]:focus,input[type=text]:focus,input[type=date]:focus,textarea:focus,select:focus{background-color:var(--surface-raised);border-color:var(--accent)}textarea{line-height:var(--lh-body);padding-block:var(--space-2xs);resize:vertical}:is(input,select,textarea)[aria-invalid=true],:is(input,select,textarea)[aria-invalid=true]:hover,:is(input,select,textarea)[aria-invalid=true]:focus{border-color:var(--danger)}.field-error{margin:var(--space-3xs) 0 0;font-size:var(--text-xs);color:var(--danger);font-weight:600}.field-hint{margin:var(--space-3xs) 0 0;font-size:var(--text-xs);color:var(--text-muted)}.tool__row[hidden]{display:none}.lisa summary{min-height:var(--tap);font-size:var(--text-sm);color:var(--accent);cursor:pointer;align-items:center;font-weight:600;display:flex}.lisa summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lisa summary::-webkit-details-marker{display:none}.lisa summary:after{content:"+";margin-left:var(--space-2xs);font-size:var(--text-md);transition:transform var(--dur-fast) var(--ease-out);line-height:1}.lisa[open] summary:after{transform:rotate(45deg)}.lisa__kentat{gap:var(--space-sm);padding-top:var(--space-xs);display:grid}.lisa .tool__row{align-content:start}.tbl-rinnakkain th[scope=row],.tbl-rinnakkain thead th{white-space:normal}.tbl-rinnakkain th[scope=row]{text-align:left;border-bottom:0}input[type=checkbox],input[type=range]{accent-color:var(--accent)}select{appearance:none;padding-right:var(--space-lg);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) 55%,calc(100% - .7rem) 55%;background-repeat:no-repeat;background-size:5px 5px,5px 5px}@supports (appearance:base-select){select{appearance:base-select}::picker(select){appearance:base-select}select{white-space:nowrap;text-overflow:ellipsis;align-items:center;min-width:0;display:flex;overflow:hidden}option{white-space:normal}select::picker-icon{display:none}::picker(select){padding-block:var(--space-3xs);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-block:4px}option{min-height:var(--tap);padding:var(--space-2xs) var(--space-xs);color:var(--text);font-size:1rem}option::checkmark{color:var(--accent)}option:checked{color:var(--accent-strong);font-weight:600}option:hover,option:focus-visible{background:var(--accent-wash);outline:none}}.result{padding:var(--space-sm);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg)}@media(min-width:52rem){.result{padding:var(--space-md)}}.result__vyo{margin:0 0 var(--space-2xs);line-height:1}.result__vyo:empty{display:none}.result__label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2xs);font-weight:500}.result__value{font-family:var(--font-display);font-optical-sizing:auto;font-size:var(--text-result);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text);text-wrap:balance;margin:0;font-weight:600;line-height:1}.result__note{margin-top:var(--space-xs);font-size:var(--text-sm);color:var(--text-muted)}.result__linkki{margin-top:var(--space-sm)}.result__linkki[hidden]{display:none}.result dl{margin:var(--space-sm) 0 0;padding-top:var(--space-sm);border-top:1px solid var(--line);color:var(--text-muted)}.result dl dd{color:var(--text);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2xs);min-height:var(--tap);padding:var(--space-2xs) var(--space-md);font-family:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface-sunk);border:1px solid var(--line-field);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--dur-instant) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{color:var(--signal-ink);background:var(--accent);border-color:var(--accent)}.btn--ghost{background:0 0}.btn--sm{min-height:var(--tap);padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs)}@media(hover:hover)and (pointer:fine){.btn:hover{border-color:var(--text-muted);background:var(--surface-raised)}.btn--primary:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.btn--primary:hover{background:color-mix(in oklab,var(--accent) 85%,var(--text))}}.btn--primary:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.btn--primary:hover{border-color:color-mix(in oklab,var(--accent) 85%,var(--text))}}.btn--ghost:hover{background:var(--surface-sunk)}}.preset-row{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.presets{gap:var(--space-3xs);display:grid}.seg{gap:var(--space-3xs);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.seg__legend{float:left;width:100%;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-3xs);font-weight:600;display:block}.seg input[type=radio]{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seg label{min-height:var(--tap);min-width:4.5rem;padding:var(--space-3xs) var(--space-xs);font-size:var(--text-xs);color:var(--text);background:var(--surface-sunk);border:1px solid var(--line-field);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--dur-instant) var(--ease-out),background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;margin:0;font-weight:600;display:inline-flex}.seg label:active{transform:scale(.97)}.seg input[type=radio]:checked+label{color:var(--accent);background:var(--accent-wash);border-color:var(--accent)}.seg input[type=radio]:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}@media(hover:hover)and (pointer:fine){.seg label:hover{border-color:var(--text-muted);background:var(--surface-raised)}.seg input[type=radio]:checked+label:hover{background:var(--accent-wash);border-color:var(--accent)}}.tool .btn--primary{justify-self:start;width:auto}.tool .btn--block{justify-self:stretch;width:100%}.prose .result__value{color:var(--text)}.result__value--password{font-size:var(--text-lg);word-break:break-all}.result__note--bare{border:0;margin:0;padding:0}.viz__label--spaced{margin-top:var(--space-2xs)}.site-foot a,.source-line a{padding-block:.55em}.quick{margin-top:var(--space-md);border-top:1px solid var(--line);display:grid}.viz{gap:var(--space-2xs);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--line);display:grid}.viz__label{justify-content:space-between;gap:var(--space-sm);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600;display:flex}.viz svg{width:100%;height:auto;display:block}.viz__legend{font-size:var(--text-sm);color:var(--text-muted)}.bar{background:var(--surface-sunk);border-radius:var(--radius-sm);width:100%;height:1.75rem;position:relative;overflow:hidden}.bar__seg{transform-origin:0;width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out);position:absolute;top:0}.bar__seg--muted{background:var(--accent-wash);left:0}.bar__seg--accent{background:var(--accent);left:0}@media(prefers-reduced-motion:reduce){.bar__seg{transition:none}}.seq{flex-wrap:wrap;align-content:flex-start;gap:3px;min-height:1.25rem;display:flex}.seq__item{background:var(--surface-sunk);border:1px solid var(--line);border-radius:2px;width:.75rem;height:1.25rem}.seq__item--on{background:var(--accent);border-color:var(--accent)}.seq__item--latest{outline:2px solid var(--accent-strong);outline-offset:1px}@media(max-width:600px){.masthead-title{padding-block:var(--space-sm)}.page__lead{font-size:var(--text-sm)}.result{padding:var(--space-xs) 0 0}.tool__row--3,.tool__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tool,.tool__fields,.tool__row--2,.tool__row--3{gap:var(--space-2xs)}.seg label{padding-inline:var(--space-3xs);letter-spacing:-.01em}}.quick__row{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-block:var(--space-2xs);border-bottom:1px solid var(--line);font-size:var(--text-sm);display:flex}.quick__row>:first-child{color:var(--text-muted)}.quick__row>:last-child{font-family:var(--font-mono);text-align:right;font-weight:600}.sana{font-family:var(--font-body);color:var(--text-muted);font-weight:400;display:block}.sana:only-child{color:var(--text)}.share{align-items:center;gap:0 var(--space-sm);font-size:var(--text-sm);flex-wrap:wrap;margin:0;display:flex}.share__btn{min-height:var(--tap);font:inherit;color:var(--accent-strong);text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0}.share__status{color:var(--text-muted)}@media(hover:hover)and (pointer:fine){.share__btn:hover{text-decoration-color:currentColor}}.source-line{max-width:var(--measure);margin-top:var(--space-2xs);font-size:var(--text-sm);color:var(--text-muted)}.source-line__label{color:var(--text-faint)}.shell--wide{max-width:var(--page-wide)}.masthead-title--index{gap:var(--space-lg);display:grid}@media(min-width:52rem){.masthead-title--index{padding-bottom:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(18rem,24rem);align-items:start}}.mini{gap:var(--space-xs);padding:var(--space-md);background:var(--surface-sunk);border-radius:var(--radius-lg);display:grid}.mini__title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.mini__fields{gap:var(--space-xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mini input{background:var(--surface-raised)}.mini__result{justify-content:space-between;align-items:baseline;gap:var(--space-sm);padding-top:var(--space-xs);border-top:1px solid var(--line);display:flex}.mini__label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.mini__value{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.02em;color:var(--accent);font-weight:700}.mini__more{min-height:var(--tap);font-size:var(--text-sm);color:var(--accent-strong);text-underline-offset:.2em;justify-self:start;align-items:center;display:inline-flex}.dir{gap:var(--space-sm);padding-block:var(--space-lg);border-top:1px solid var(--line);display:grid}@media(min-width:52rem){.dir{gap:var(--space-lg);grid-template-columns:14rem minmax(0,1fr)}}.dir__title{font-size:var(--text-lg);color:var(--text-muted);margin:0;font-weight:700}.dir__list{gap:var(--space-sm) var(--space-lg);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}@media(min-width:34rem){.dir__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.dir__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.dir__list li{position:relative}.dir__link:after{content:"";position:absolute;inset:0}.dir__link{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:-.01em;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:.2em;font-weight:600}.dir__desc{margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--text-muted);line-height:1.45;display:block}@media(hover:hover)and (pointer:fine){.dir__link:hover{color:var(--accent-strong);text-decoration-color:currentColor}}.prose>:where(:not(.table-scroll)){max-width:var(--measure)}.prose>.table-scroll{max-width:var(--page)}.prose h2{margin-top:var(--space-2xl);margin-bottom:var(--space-sm);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}.prose h3{margin-top:var(--space-lg);margin-bottom:var(--space-2xs);font-size:var(--text-md);font-weight:600}.prose p{margin-bottom:var(--space-sm);color:var(--text-muted)}.prose p strong{color:var(--text);font-weight:600}.prose ul,.prose ol{margin:0 0 var(--space-sm);padding-left:var(--space-md);color:var(--text-muted)}.prose li{margin-bottom:var(--space-3xs)}main h2{margin-top:var(--space-2xl);margin-bottom:var(--space-sm);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:600}main h3{margin-top:var(--space-lg);margin-bottom:var(--space-2xs);font-size:var(--text-md);font-weight:600}main>p,main>section>p{max-width:var(--measure);margin-bottom:var(--space-sm);color:var(--text-muted)}code{font-family:var(--font-body);font-variant-numeric:tabular-nums;color:var(--text);background:var(--surface-sunk);border-radius:var(--radius-sm);padding:.08em .22em .08em .3em;font-size:.95em;font-weight:600}.note{max-width:var(--measure);margin-block:var(--space-sm);font-size:var(--text-sm);color:var(--text-muted)}.table-scroll{margin-bottom:var(--space-md);padding:var(--space-2xs) var(--space-xs);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{padding:var(--space-2xs) var(--space-2xs);text-align:left}td:not(:last-child),th:not(:last-child),.tbl-luvut td{white-space:nowrap}th{font-weight:600;font-size:var(--text-xs);color:var(--text-faint);border-bottom:1px solid var(--line-strong)}td{border:0}tbody tr+tr>*{border-top:1px solid var(--line)}.tbl-luvut tbody tr+tr>*{border-top:0}.tbl-luvut tbody tr:nth-child(6n+1):not(:first-child)>*{border-top:1px solid var(--line)}.tbl-luvut td.tnum{font-family:var(--font-mono);font-size:var(--text-xs)}tbody tr.nyt{background:var(--signal-wash)}.tunti-hinta{min-width:5rem}.tuntipalkki{border-radius:var(--radius-pill);background:var(--tavallinen-bar);height:4px;margin-top:3px;display:block}.tuntipalkki--halpa{background:var(--halpa-bar)}.tuntipalkki--kallis{background:var(--kallis-bar)}@media(max-width:600px){.table-scroll:has(.tbl-pino){overflow-x:visible}.tbl-pino thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tbl-pino tbody{display:block}.tbl-pino tr{align-items:baseline;gap:var(--space-3xs) var(--space-sm);padding-block:var(--space-xs) var(--space-2xs);border-bottom:1px solid var(--line);flex-wrap:wrap;line-height:1.35;display:flex}.tbl-pino tbody tr+tr>*{border-top:0}.tbl-pino td{white-space:normal;padding:0;display:block}.tbl-pino td.tnum{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.tbl-pino td[data-ennen]:before{content:attr(data-ennen) " ";font-family:var(--font-body)}.tbl-pino td[data-jalkeen]:after{content:" " attr(data-jalkeen)}.tbl-pino td.tbl-pino__paa{font-size:var(--text-base);color:var(--text);text-align:right;margin-left:auto;font-weight:600}.tbl-pino td.tbl-pino__nimi{flex:1 1 0;min-width:55%}.tbl-pino td.tbl-pino__linkki{flex-basis:100%}.tbl-pino td.tbl-pino__linkki a{min-height:var(--tap);margin-block:calc(var(--space-2xs) * -1);align-items:center;display:inline-flex}}.tbl-group td{padding-top:var(--space-sm);color:var(--text);font-weight:600}.stat-row{justify-content:space-between;gap:var(--space-2xs) var(--space-sm);flex-wrap:wrap;display:flex}.stat-row>*{min-width:0}.stat-row__v{font-variant-numeric:tabular-nums;font-weight:600}.month{font-variant-numeric:tabular-nums;min-width:0}.month table{border-collapse:collapse;width:100%}.month td,.month th{padding:var(--space-3xs) 0;text-align:center;white-space:normal}.month tbody tr:nth-child(2n){background:0 0}.cal-th{font-size:var(--text-2xs);color:var(--text-muted);border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0;font-weight:600}.cal-th--wknd{color:var(--text-muted)}.cal-wk{font-size:var(--text-2xs);color:var(--text-muted);border-right:1px solid var(--line);padding-right:var(--space-2xs);font-weight:400}.is-wknd{color:var(--text-muted)}.is-holiday{color:var(--accent-strong);background:var(--accent-wash);border-radius:var(--radius-sm);font-weight:700}.coin-stage{gap:var(--space-2xs);flex-wrap:wrap;align-items:center;min-height:4rem;display:flex}.coin,.die{min-width:3rem;min-height:3rem;padding:var(--space-2xs);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:var(--text-md);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.coin{min-width:8rem;min-height:8rem;font-size:var(--text-xl);color:var(--accent-strong);background:var(--accent-wash);border-color:var(--accent-line)}.die-row{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.coin-count{align-items:center;gap:var(--space-xs);max-width:20rem;font-size:var(--text-sm);color:var(--text-muted);display:flex}.coin-count label{white-space:nowrap;margin-bottom:0}.coin-count input{max-width:7rem}.coin-stage{justify-content:flex-start}@media(min-width:52rem){.coin-stage{padding-top:var(--space-sm);justify-content:center}}.prose.sources ul{margin:var(--space-sm) 0 0;padding-left:0;list-style:none}.sources li{padding-block:var(--space-xs);border-top:1px solid var(--line);font-size:var(--text-sm);margin-bottom:0}.sources li:last-child{border-bottom:1px solid var(--line)}.sources__note{margin-top:var(--space-3xs);font-size:var(--text-xs);color:var(--text-faint);display:block}.related{margin-top:var(--space-2xl)}.sources+.related{margin-top:var(--space-lg)}.related__list{gap:var(--space-2xs);margin:var(--space-sm) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.related__link{min-height:var(--tap);margin-right:var(--space-sm);font-size:var(--text-base);color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong,var(--line));text-decoration-color:var(--line-strong,var(--line));text-underline-offset:.2em;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}@media(hover:hover)and (pointer:fine){.related__link:hover{color:var(--accent-strong);text-decoration-color:currentColor}}.site-foot{margin-top:var(--space-2xl);padding-block:var(--space-lg) var(--space-2xl);border-top:1px solid var(--line);font-size:var(--text-sm);color:var(--text-muted)}.site-foot__mark{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);letter-spacing:-.02em;color:var(--text)}.site-foot__lead{margin-top:var(--space-3xs)}.site-foot__about{max-width:var(--measure);margin-top:var(--space-md);font-size:var(--text-sm);color:var(--text-faint)}.site-foot__about p{margin-bottom:var(--space-2xs)}.site-foot__updated time{color:var(--text-muted)}.site-foot__nav ul{gap:0 var(--space-md);margin:var(--space-sm) 0 0;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));padding:0;list-style:none;display:grid}.site-foot__nav a{min-height:var(--tap);color:var(--text);align-items:center;padding-block:0;display:inline-flex}.seq__item--text{width:auto;height:auto;min-height:var(--tap);padding:var(--space-3xs) var(--space-2xs);align-items:baseline;gap:var(--space-3xs);font-size:var(--text-sm);color:var(--text);background:var(--surface-sunk);border-color:var(--line);font-weight:600;display:flex}.seq__item--text .seq__item-arvo{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:400}.paneeli{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-areas:"lukema""kaavio""arvot";display:grid}.paneeli__lukema{grid-area:lukema}.paneeli__lukema .result__value{font-size:var(--text-reading)}.paneeli__kaavio{grid-area:kaavio}.paneeli__arvot{grid-area:arvot}.paneeli__arvot.quick{padding:var(--space-3xs) var(--space-sm);background:var(--surface-sunk);border-radius:var(--radius);border:0;margin-top:0}@media(min-width:64rem){.paneeli{align-items:start;column-gap:var(--space-xl);grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"lukema kaavio""arvot kaavio"}}.kaavio{padding:var(--space-xs) var(--space-sm) var(--space-sm);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);margin:0}.kaavio__otsikko{justify-content:space-between;align-items:baseline;gap:var(--space-3xs) var(--space-sm);padding-bottom:var(--space-2xs);margin-bottom:var(--space-2xs);border-bottom:1px solid var(--line);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.kaavio__nimi{font-weight:700}.kaavio__yksikko{color:var(--text-muted);font-weight:400}.kaavio__selite{gap:var(--space-sm);color:var(--text-muted);display:flex}.kaavio__merkki{width:.625rem;height:.625rem;margin-right:var(--space-3xs);vertical-align:-.05em;background:var(--signal);border-radius:2px;display:inline-block}.kaavio__merkki--viiva{width:3px}.kaavio__paivat,.kaavio__akseli{height:1.25rem;font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--text-muted);position:relative}.kaavio__paivat{font-family:var(--font-body);font-size:var(--text-xs)}.kaavio__paivat span,.kaavio__akseli span{white-space:nowrap;position:absolute;top:0}.kaavio__paivat span{padding-left:var(--space-3xs);text-overflow:clip;overflow:hidden}.kaavio__paivat,.kaavio__alue,.kaavio__akseli{margin-left:1.5rem}.kaavio__akseli{margin-top:6px}.kaavio__akseli span{transform:translate(-50%)}.kaavio__akseli span[style="left:0%"]{transform:none}.kaavio__alue{height:8rem;position:relative}@media(min-width:64rem){.kaavio__alue{height:15rem}}.kaavio__alue svg{width:100%;height:100%;display:block;overflow:visible}.kaavio__palkki{fill:var(--tavallinen-bar)}.kaavio__palkki--halpa{fill:var(--halpa-bar)}.kaavio__palkki--kallis{fill:var(--kallis-bar)}.kaavio__palkki--halvin{fill:var(--signal)}.kaavio__halvin{border-radius:var(--radius-pill);background:var(--signal);height:4px;position:absolute;bottom:-5px}.kaavio__palkki--mennyt,.kaavio__halvin--mennyt{opacity:.35}.kaavio__taso{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.kaavio__tasoarvo{padding-right:var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);line-height:1;position:absolute;right:100%;transform:translateY(-50%)}.kaavio__nolla{stroke:var(--text);stroke-width:1px;vector-effect:non-scaling-stroke}.kaavio__raja{border-left:1px dashed var(--line-strong);width:0;position:absolute;top:-1.25rem;bottom:0}.kaavio__nyt{background:var(--signal);width:2px;box-shadow:0 0 0 1px var(--surface-raised);position:absolute;top:-.5rem;bottom:0;transform:translate(-50%)}.kaavio__nyt:before{content:"";background:var(--signal);width:7px;height:7px;box-shadow:0 0 0 1px var(--surface-raised);border-radius:50%;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.kaavio__nyt-arvo{padding:1px var(--space-3xs);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap;color:var(--signal-ink);background:var(--signal);border-radius:var(--radius-pill);font-weight:600;line-height:1.2;position:absolute;top:.5rem;left:calc(100% + 3px)}.kaavio__nyt--oikea .kaavio__nyt-arvo{left:auto;right:calc(100% + 3px)}.kaavio__nyt--yla .kaavio__nyt-arvo{top:-.875rem}.kaavio__tyhja{padding-block:var(--space-xl);font-size:var(--text-sm);color:var(--text-muted);text-align:center}tr[hidden]{display:none!important}.tbl-luvut td.ilp-sisaltaa{font-size:var(--text-xs);color:var(--text-muted);white-space:normal;min-width:14rem}.tbl-luvut[id^=asentajat-] td{white-space:normal}.tbl-luvut[id^=asentajat-] td.tbl-pino__paa{white-space:nowrap}.ilp-sisaltaa .sana{margin-top:var(--space-3xs)}.tool[data-ilp] .tool__row{align-content:start}@media(max-width:600px){.tbl-pino td.ilp-sisaltaa{flex-basis:100%;min-width:0}}.vyo{min-height:1.5rem;padding:0 var(--space-2xs);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);align-items:center;font-weight:600;display:inline-flex}.vyo--halpa{color:var(--halpa-ink);background:var(--halpa-wash)}.vyo--tavallinen{color:var(--tavallinen-ink);background:var(--tavallinen-wash)}.vyo--kallis{color:var(--kallis-ink);background:var(--kallis-wash)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}
