@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-cyrillic-400-normal-CjW2EstV.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-400-normal-ZiRag6zj.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-vietnamese-400-normal-BV2APVTb.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-400-normal-BbvUAu4N.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-ext-400-normal-BxlSGspa.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-400-normal-qdZwdvNS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/playfair-display-latin-400-normal-CFtfchNt.woff2)format("woff2"),url(/assets/playfair-display-latin-400-normal-DHYHbkg3.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-cyrillic-600-normal-oLY6jnZ7.woff2)format("woff2"),url(/assets/playfair-display-cyrillic-600-normal-DbWAkkgN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-vietnamese-600-normal-ICsRR-qJ.woff2)format("woff2"),url(/assets/playfair-display-vietnamese-600-normal-BPJkAZPN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-ext-600-normal-CEjQclLc.woff2)format("woff2"),url(/assets/playfair-display-latin-ext-600-normal-BumBfC1v.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/playfair-display-latin-600-normal-CZLGqjJe.woff2)format("woff2"),url(/assets/playfair-display-latin-600-normal-CxxueQ0Z.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--vari-tausta:oklch(99.4% .004 350);--vari-pinta:oklch(100% 0 0);--vari-pinta-pehmea:oklch(97.9% .008 350);--vari-pinta-roosa:oklch(96.6% .022 352);--vari-teksti:oklch(28% .025 350);--vari-teksti-himmea:oklch(50% .028 350);--vari-korostus:oklch(46% .115 359);--vari-paa:oklch(69.8179% .14414 1.86856);--vari-paa-teksti:oklch(28% .025 350);--vari-reuna:oklch(91% .025 350);--vari-tumma:oklch(19% .025 340);--varjo-kortti:0 8px 35px 0 oklch(35% .05 350/.04);--varjo-valikko:0 8px 35px 0 oklch(35% .05 350/.12);--sade-pieni:8px;--sade-iso:14px;--sade-nappi:999px;--fontti-teksti:"DM Sans Variable", "DM Sans", system-ui, sans-serif;--fontti-otsikko:"Playfair Display", Georgia, serif;--paino-normaali:400;--paino-vahva:650;--koko-teksti:1rem;--koko-pieni:.875rem;--koko-h1:2rem;--koko-h2:1.5rem;--sisalto-max:1240px;--sivureuna:16px;--ylapalkki-korkeus:64px;--alapalkki-korkeus:64px;--kosketus-min:44px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--vari-tausta);min-height:100dvh;color:var(--vari-teksti);font-family:var(--fontti-teksti);font-size:var(--koko-teksti);font-weight:var(--paino-normaali);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2{font-family:var(--fontti-otsikko);font-weight:var(--paino-normaali);margin:0 0 .5em;line-height:1.2}h1 strong,h2 strong{font-weight:600}h1{font-size:var(--koko-h1)}h2{font-size:var(--koko-h2)}h3{font-size:1.0625rem;font-weight:var(--paino-vahva);margin:0 0 .5em}p{margin:0 0 1em}a{color:var(--vari-korostus)}img{max-width:100%;display:block}input,button,select,textarea{font:inherit;color:inherit}input,select,textarea{font-size:max(16px,1rem)}:focus-visible{outline:2px solid var(--vari-korostus);outline-offset:2px}.nappi{min-height:var(--kosketus-min);border:1px solid var(--vari-paa);border-radius:var(--sade-nappi);background:var(--vari-paa);color:var(--vari-paa-teksti);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 24px;text-decoration:none;display:inline-flex}.nappi:disabled{opacity:.6;cursor:progress}.nappi--reuna{color:var(--vari-korostus);background:0 0}.kortti{background:var(--vari-pinta);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);box-shadow:var(--varjo-kortti);padding:20px}.himmea{color:var(--vari-teksti-himmea)}.piilo{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ylapalkki{z-index:10;background:var(--vari-pinta);border-bottom:1px solid var(--vari-reuna);padding-top:env(safe-area-inset-top);position:sticky;top:0}.ylapalkki__sisalto{max-width:var(--sisalto-max);height:var(--ylapalkki-korkeus);padding:0 var(--sivureuna);align-items:center;gap:24px;margin:0 auto;display:flex}.ylapalkki__logo{min-width:var(--kosketus-min);min-height:var(--kosketus-min);justify-content:center;align-items:center;display:flex}.ylapalkki__logo img{width:auto;height:40px}.valilehdet{display:flex}.valilehti{min-height:var(--kosketus-min);color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);align-items:center;gap:8px;text-decoration:none;display:flex}.valilehti.active{color:var(--vari-korostus)}.ikoni{flex:none}.valilehdet--yla{align-self:stretch;gap:8px;margin-right:auto}.valilehdet--yla .valilehti{border-top:3px solid #0000;border-bottom:3px solid #0000;padding:0 12px}.valilehdet--yla .valilehti.active{border-bottom-color:var(--vari-paa)}.valilehdet--ala{z-index:10;min-height:calc(var(--alapalkki-korkeus) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--vari-pinta);border-top:1px solid var(--vari-reuna);justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.valilehdet--ala .valilehti{flex-direction:column;flex:1;justify-content:center;gap:2px;font-size:.75rem}.sisalto{max-width:var(--sisalto-max);padding:24px var(--sivureuna) calc(var(--alapalkki-korkeus) + env(safe-area-inset-bottom) + 24px);margin:0 auto}@media (width<=767.98px){.valilehdet--yla{display:none}.avatar{margin-left:auto}}@media (width>=768px){.valilehdet--ala{display:none}.sisalto{padding:32px 24px 48px}.ylapalkki__sisalto{padding:0 24px}}.avatar{position:relative}.avatar__nappi{width:var(--kosketus-min);height:var(--kosketus-min);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.avatar__kuva{background:var(--vari-pinta-roosa);width:36px;height:36px;color:var(--vari-korostus);font-weight:var(--paino-vahva);border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar__valikko{background:var(--vari-pinta);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);min-width:180px;box-shadow:var(--varjo-valikko);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.avatar__kohta{min-height:var(--kosketus-min);color:var(--vari-teksti);font-size:var(--koko-pieni);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;padding:0 12px;text-decoration:none;display:flex}.avatar__kohta:hover{background:var(--vari-pinta-pehmea)}.kirjautuminen{min-height:100dvh;padding:24px var(--sivureuna);justify-content:center;align-items:center;display:flex}.kirjautuminen__kortti{width:100%;max-width:400px}.kirjautuminen__logo{width:auto;height:96px;margin:0 auto 16px}.kirjautuminen h1{text-align:center}.kentta{font-size:var(--koko-pieni);font-weight:var(--paino-vahva);flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.kentta input{min-height:var(--kosketus-min);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);font-weight:var(--paino-normaali);padding:0 14px}.kirjautuminen .nappi{width:100%;margin-top:8px}.huomautus{font-size:var(--koko-pieni);text-align:center;margin-top:16px}.ohje{text-align:center;color:var(--vari-teksti-himmea);margin:0 0 16px}.ilmoitus{border-radius:var(--sade-pieni);background:var(--vari-pinta-roosa);font-size:var(--koko-pieni);margin:0 0 16px;padding:12px 14px}.ilmoitus--virhe{color:var(--vari-korostus);font-weight:var(--paino-vahva)}.tekstilinkki{min-height:var(--kosketus-min);color:var(--vari-korostus);font-weight:var(--paino-vahva);align-items:center;padding:0 8px;display:inline-flex}.sivuotsikko{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sivuotsikko h1,.sivuotsikko h2{margin:0}.edistyminen{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);font-weight:var(--paino-vahva)}.moduulilista,.oppituntilista{gap:12px;margin:0;padding:0;list-style:none;display:grid}.moduulikortti{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px 8px 16px;display:flex}.moduulikortti__linkki{min-width:0;min-height:var(--kosketus-min);color:var(--vari-teksti);flex:200px;align-items:center;gap:12px;text-decoration:none;display:flex}.moduulikortti__numero{background:var(--vari-pinta-roosa);width:32px;height:32px;color:var(--vari-korostus);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.moduulikortti__otsikko{min-width:0;font-weight:var(--paino-vahva);overflow-wrap:anywhere}.moduulikortti__siirto{gap:4px;display:flex}.merkki{border:1px solid var(--vari-reuna);border-radius:var(--sade-nappi);background:var(--vari-pinta-pehmea);color:var(--vari-teksti-himmea);font-size:.75rem;font-weight:var(--paino-vahva);align-items:center;padding:2px 10px;display:inline-flex}.merkki--valmis{border-color:var(--vari-paa);background:var(--vari-pinta-roosa);color:var(--vari-korostus)}.kuvakenappi{min-width:var(--kosketus-min);min-height:var(--kosketus-min);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);color:var(--vari-teksti);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.kuvakenappi:disabled{opacity:.4;cursor:default}.kuvakenappi[aria-pressed=true]{border-color:var(--vari-paa);background:var(--vari-pinta-roosa);color:var(--vari-korostus)}.takaisin{margin:0 0 8px -8px}.moduuli h1{overflow-wrap:anywhere}.moduuli__yllapito{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.oppitunnit{margin-top:32px}.oppitunnit .edistyminen{margin:0 0 12px}.moduuli__loppu{border-top:1px solid var(--vari-reuna);flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;padding-top:24px;display:flex}.moduuli__loppu .edistyminen{margin:0}.moduuli__loppu .tekstilinkki{overflow-wrap:anywhere}@media (width>=768px){.moduuli__loppu{flex-flow:wrap;justify-content:space-between;align-items:center}}.sisaltoteksti{overflow-wrap:anywhere;max-width:720px}.sisaltoteksti h2,.sisaltoteksti h3{margin-top:1.25em}.sisaltoteksti>:first-child{margin-top:0}.sisaltoteksti ul,.sisaltoteksti ol{margin:0 0 1em;padding-left:1.5em}.sisaltoteksti li>p{margin:0 0 .25em}.sisaltoteksti blockquote{border-left:3px solid var(--vari-paa);color:var(--vari-teksti-himmea);margin:0 0 1em;padding-left:16px}.sisaltoteksti hr{border:0;border-top:1px solid var(--vari-reuna);margin:1.5em 0}.video{margin:0 0 1em}.video__kehys{aspect-ratio:16/9;border-radius:var(--sade-pieni);background:var(--vari-tumma);position:relative;overflow:hidden}.video__kehys iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video__viesti{height:100%;color:var(--vari-pinta);font-size:var(--koko-pieni);text-align:center;justify-content:center;align-items:center;margin:0;padding:16px;display:flex}.tiedosto{margin:0 0 1em}.tiedosto__nappi{width:100%;min-height:var(--kosketus-min);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);color:var(--vari-teksti);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.tiedosto__nappi:hover{border-color:var(--vari-korostus)}.tiedosto__nappi:disabled{cursor:progress}.tiedosto__kuvake{flex:none;font-size:1.25rem}.tiedosto__teksti{flex-direction:column;min-width:0;display:flex}.tiedosto__nimi{color:var(--vari-korostus);font-weight:var(--paino-vahva);overflow-wrap:anywhere}.tiedosto__tiedot{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni)}.tiedosto .ilmoitus{margin-top:8px}.muokkaus .kentta input{width:100%}.valinta{min-height:var(--kosketus-min);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);cursor:pointer;align-items:center;gap:10px;margin-bottom:16px;display:flex}.valinta input{width:22px;height:22px;accent-color:var(--vari-korostus);margin:0}.editori{border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);margin-bottom:16px}.editori:focus-within{border-color:var(--vari-korostus)}.editori__tyokalut{top:calc(var(--ylapalkki-korkeus) + env(safe-area-inset-top));z-index:5;border-bottom:1px solid var(--vari-reuna);border-radius:var(--sade-pieni) var(--sade-pieni) 0 0;background:var(--vari-pinta);flex-wrap:wrap;gap:4px;padding:6px;display:flex;position:sticky}.editori__alue{outline:none;max-width:none;min-height:240px;padding:16px}.editori__video{border:1px dashed var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta-pehmea);color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);margin:0 0 1em;padding:16px}.editori__video.ProseMirror-selectednode{outline:2px solid var(--vari-korostus)}.editori__tiedosto{border:1px dashed var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta-pehmea);color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);overflow-wrap:anywhere;margin:0 0 1em;padding:16px}.editori__tiedosto.ProseMirror-selectednode{outline:2px solid var(--vari-korostus)}.editori__lataus{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);align-self:center;padding:0 6px}.muokkaus__napit{flex-wrap:wrap;gap:12px;display:flex}.moduulikortti--siirrettava{grid-template-columns:minmax(0,1fr) auto;gap:0 12px;display:grid}.moduulikortti--siirrettava .moduulikortti__linkki{grid-area:1/1}.moduulikortti--siirrettava .merkki{grid-area:2/1;justify-self:start;margin:0 0 8px 44px}.moduulikortti--siirrettava .moduulikortti__siirto{grid-area:1/2/span 2;align-self:center}@media (width>=768px){.moduulikortti--siirrettava:has(>.merkki){grid-template-columns:minmax(0,1fr) auto auto}.moduulikortti--siirrettava .merkki{grid-area:1/2;margin:0}.moduulikortti--siirrettava .moduulikortti__siirto{grid-row:1}.moduulikortti--siirrettava:has(>.merkki) .moduulikortti__siirto{grid-column:3}}.moduulikortti--avaamaton{background:var(--vari-pinta-pehmea);box-shadow:none}.moduulikortti--avaamaton .moduulikortti__linkki{color:var(--vari-teksti-himmea)}.moduulikortti--avaamaton .moduulikortti__numero{opacity:.6}.avausryhma{max-width:420px;margin-bottom:16px}.avausryhma select{min-height:var(--kosketus-min);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);font:inherit;font-weight:var(--paino-normaali);padding:0 14px}.moduulikortti__avaus{flex-wrap:wrap;flex:100%;align-items:flex-end;gap:8px 12px;padding:0 0 8px 44px;display:flex}.moduulikortti--siirrettava .moduulikortti__avaus{grid-area:3/1/auto/-1}.avauspaiva{margin:0}.avauspaiva input{width:auto}@media (width<=479px){.moduulikortti__avaus{padding-left:0}}.palkki{border-radius:var(--sade-nappi);background:var(--vari-pinta-roosa);height:6px;overflow:hidden}.palkki__taytto{border-radius:inherit;background:var(--vari-paa);height:100%}@media (width>=1024px){.kurssietusivu h1,.kurssiasettelu__sisalto h1{font-size:2.5rem}.kurssietusivu{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.moduulilista--ruudukko{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.moduulilista--ruudukko .moduulikortti{border-radius:var(--sade-iso);background:linear-gradient(155deg, var(--vari-pinta) 55%, var(--vari-pinta-roosa));flex-direction:column;align-items:flex-start;gap:14px;min-height:168px;padding:20px;transition:border-color .15s,box-shadow .15s;position:relative}.moduulilista--ruudukko .moduulikortti:hover{border-color:var(--vari-paa);box-shadow:var(--varjo-valikko)}.moduulilista--ruudukko .moduulikortti__linkki{flex-direction:column;flex:none;align-items:flex-start;gap:16px;min-height:0}.moduulilista--ruudukko .moduulikortti__linkki:after{content:"";border-radius:inherit;position:absolute;inset:0}.moduulilista--ruudukko .moduulikortti__linkki:focus-visible{outline:none}.moduulilista--ruudukko .moduulikortti:has(.moduulikortti__linkki:focus-visible){outline:2px solid var(--vari-korostus);outline-offset:2px}.moduulilista--ruudukko .moduulikortti__otsikko{font-family:var(--fontti-otsikko);font-size:1.375rem;font-weight:var(--paino-normaali);line-height:1.3}.moduulikortti--siirrettava{border-radius:var(--sade-iso);background:linear-gradient(155deg, var(--vari-pinta) 55%, var(--vari-pinta-roosa));padding:14px 16px 14px 20px}.moduulikortti--siirrettava .moduulikortti__otsikko{font-family:var(--fontti-otsikko);font-size:1.25rem;font-weight:var(--paino-normaali);line-height:1.3}.palsta{flex-direction:column;gap:16px;display:flex}.palstakortti{border:1px solid var(--vari-reuna);border-radius:var(--sade-iso);background:var(--vari-pinta);box-shadow:var(--varjo-kortti);flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px;display:flex}.palstakortti>*{margin:0}.palstakortti .palkki{align-self:stretch}.palstakortti--jatka{background:linear-gradient(155deg, var(--vari-pinta-roosa), var(--vari-pinta) 70%)}.palstakortti--jatka .nappi{margin-top:8px}.palstakortti--tulossa{box-shadow:none;background:0 0;border-style:dashed}.palstakortti__nimi{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni)}.palstakortti__otsikko{font-family:var(--fontti-otsikko);overflow-wrap:anywhere;font-size:1.375rem;line-height:1.3}.palstakortti__luku{font-size:2.25rem;font-weight:var(--paino-vahva);line-height:1.1}.palstakortti__lisa{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);overflow-wrap:anywhere}.palstakortti__teksti{font-size:var(--koko-pieni)}.kurssiasettelu{grid-template-columns:300px minmax(0,760px);align-items:start;gap:48px;display:grid}.sisallys{top:calc(var(--ylapalkki-korkeus) + env(safe-area-inset-top) + 24px);max-height:calc(100dvh - var(--ylapalkki-korkeus) - env(safe-area-inset-top) - 48px);border-radius:var(--sade-iso);padding:24px 14px 14px;position:sticky;overflow-y:auto}.sisallys__otsikko{font-family:var(--fontti-otsikko);margin:0 10px 8px;font-size:1.375rem;line-height:1.3}.sisallys__edistyminen{margin:0 10px 12px}.sisallys__edistyminen .edistyminen{margin:0 0 8px}.sisallys__moduulit,.sisallys__oppitunnit{margin:0;padding:0;list-style:none}.sisallys__moduuli,.sisallys__oppitunti{min-height:var(--kosketus-min);border-radius:var(--sade-pieni);color:var(--vari-teksti);align-items:center;gap:12px;padding:6px 10px;font-size:.9375rem;line-height:1.35;text-decoration:none;display:flex}.sisallys__moduuli:hover,.sisallys__oppitunti:hover{background:var(--vari-pinta-pehmea)}.sisallys__moduuli--avaamaton,.sisallys__moduuli--avaamaton:hover{color:var(--vari-teksti-himmea);background:0 0}.sisallys__moduuli--avaamaton .sisallys__numero{opacity:.6}.sisallys__moduuli[aria-current=page],.sisallys__oppitunti[aria-current=page]{background:var(--vari-pinta-roosa);color:var(--vari-korostus);font-weight:var(--paino-vahva)}.sisallys__numero{background:var(--vari-pinta-roosa);width:28px;height:28px;color:var(--vari-korostus);font-size:.8125rem;font-weight:var(--paino-vahva);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.sisallys__numero--valmis{background:var(--vari-paa);color:var(--vari-pinta)}.sisallys__oppitunnit{border-left:2px solid var(--vari-reuna);margin:2px 0 6px 23px;padding-left:10px}.sisallys__ympyra{border:2px solid var(--vari-reuna);width:18px;height:18px;color:var(--vari-pinta);font-size:.625rem;font-weight:var(--paino-vahva);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.sisallys__ympyra--valmis{border-color:var(--vari-paa);background:var(--vari-paa)}.sisallys__nimi{overflow-wrap:anywhere;min-width:0}.sisallys__huom{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);font-weight:var(--paino-normaali)}}.yhteiso{max-width:720px;margin:0 auto}.yhteiso__ryhmanimi{font-weight:var(--paino-vahva);margin:0 0 4px}.yhteiso__paattyy{font-size:var(--koko-pieni);margin:0 0 20px}.yhteiso__ryhma{margin-bottom:8px}.yhteiso__ryhma select{min-height:var(--kosketus-min);border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);font-weight:var(--paino-normaali);max-width:100%;padding:0 14px}.yhteiso__tyhja{margin:0}.yhteiso .ilmoitus{margin:16px 0 0}.viestilomake{flex-direction:column;gap:8px;display:flex}.viestilomake__otsikko{font-size:var(--koko-pieni);font-weight:var(--paino-vahva)}.viestilomake textarea{border:1px solid var(--vari-reuna);border-radius:var(--sade-pieni);background:var(--vari-pinta);resize:vertical;width:100%;padding:10px 14px;line-height:1.5}.viestilomake .ilmoitus{margin:0}.viestilomake__napit{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.seina{flex-direction:column;gap:16px;margin:24px 0 0;padding:0;list-style:none;display:flex}.viesti{padding:16px}.viesti__otsake{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:4px;display:flex}.viesti__kirjoittaja{font-weight:var(--paino-vahva);overflow-wrap:anywhere}.viesti__aika,.viesti__muokattu{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni)}.kommentti__vastattava{color:var(--vari-teksti-himmea);font-size:var(--koko-pieni);overflow-wrap:anywhere;margin:0 0 2px}.viesti__merkki{border-radius:var(--sade-nappi);background:var(--vari-pinta-roosa);color:var(--vari-korostus);font-size:.75rem;font-weight:var(--paino-vahva);padding:0 8px;line-height:1.6}.viesti__teksti{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.viesti__poistettu{color:var(--vari-teksti-himmea);margin:0;font-style:italic}.viesti__toiminnot{flex-wrap:wrap;gap:0 4px;margin:4px 0 0 -8px;display:flex}.tekstinappi{min-width:var(--kosketus-min);min-height:var(--kosketus-min);color:var(--vari-korostus);font-size:var(--koko-pieni);font-weight:var(--paino-vahva);cursor:pointer;background:0 0;border:0;padding:0 8px}.ketju{border-left:2px solid var(--vari-reuna);flex-direction:column;gap:12px;margin:12px 0 0;padding:0 0 0 12px;list-style:none;display:flex}.ketju .ketju{margin-top:8px}.viesti .viestilomake{margin-top:12px}.poistovahvistus{border-radius:var(--sade-pieni);background:var(--vari-pinta-pehmea);margin-top:8px;padding:12px}.poistovahvistus p{font-size:var(--koko-pieni);margin:0 0 8px}.yhteiso__vanhemmat{margin:24px auto 0;display:flex}
